<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- saved from url=(0080)http://www.codeproject.com/Articles/146626/Extending-Visual-Studio-Setup-Project -->
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
	<title>Extending Visual Studio Setup Project - CodeProject®</title> 
	<link type="text/css" rel="stylesheet" href="./Extending Visual Studio Setup Project - CodeProject®_files/CodeProject.min.css">

	
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 


<meta name="Description" content="Extending Visual Studio Setup Project for Building Reliable Windows Installer (MSI) ; Author: Shai Raiten; Updated: 16 Jan 2011; Section: Installation; Chapter: Development Lifecycle; Updated: 16 Jan 2011">
<meta name="Keywords" content="C#, Windows, .NET, Visual-Studio, CEO, Architect, Dev, WPF, Design, Beginner, Sales, Marketing, WinForm,Installation,Development Lifecycle,Free source code, tutorials">
<meta name="Author" content="Shai Raiten">
<meta name="Rating" content="General">
<meta name="Robots" content="index, follow, NOODP">
<meta name="Revisit-After" content="1 days">
<meta name="application-name" content="The Code Project">
<meta name="google-site-verification" content="RP2bNCUeOmNkkJesEnU8X3UyTbqIcCKP0CmdwU8in5k">

<meta name="msapplication-navbutton-color" content="#FF9900">
<meta name="msapplication-tooltip" content="Your Development Resource.">
<meta name="msapplication-starturl" content="http://www.codeproject.com/?pinned=true">
<meta name="msapplication-task" content="name=Homepage;action-uri=http://www.codeproject.com/;icon-uri=http://www.codeproject.com/favico.ico">
<meta name="msapplication-task" content="name=Latest Articles;action-uri=http://www.codeproject.com/script/articles/Latest.aspx;icon-uri=http://www.codeproject.com/favico.ico">
<meta name="msapplication-task" content="name=Questions and Answers;action-uri=http://www.codeproject.com/script/Answers/;icon-uri=http://www.codeproject.com/favico.ico">
<meta name="msapplication-task" content="name=The Lounge;action-uri=http://www.codeproject.com/Lounge.aspx;icon-uri=http://www.codeproject.com/favico.ico">

<link rel="dns-prefetch" href="http://ajax.googleapis.com/"> 
<link rel="canonical" href="./Extending Visual Studio Setup Project - CodeProject®_files/Extending Visual Studio Setup Project - CodeProject®.htm">


<link rel="alternate" type="application/rss+xml" title="CodeProject Latest articles - All Topics" href="http://www.codeproject.com/WebServices/ArticleRSS.aspx?cat=1">
<link rel="alternate" type="application/rss+xml" title="CodeProject Latest articles - MFC/C++" href="http://www.codeproject.com/WebServices/ArticleRSS.aspx?cat=2">
<link rel="alternate" type="application/rss+xml" title="CodeProject Latest articles - C#" href="http://www.codeproject.com/WebServices/ArticleRSS.aspx?cat=3">
<link rel="alternate" type="application/rss+xml" title="CodeProject Latest articles - VB.NET" href="http://www.codeproject.com/WebServices/ArticleRSS.aspx?cat=6">
<link rel="alternate" type="application/rss+xml" title="CodeProject Latest articles - Mobile" href="http://www.codeproject.com/WebServices/ArticleRSS.aspx?cat=18">
<link rel="alternate" type="application/rss+xml" title="CodeProject Latest articles - ASP.NET" href="http://www.codeproject.com/WebServices/ArticleRSS.aspx?cat=4">

<link rel="alternate" type="application/rss+xml" title="CodeProject Lounge Postings" href="http://www.codeproject.com/webservices/LoungeRSS.aspx">
<link rel="search" type="application/opensearchdescription+xml" title="CodeProject" href="http://www.codeproject.com/info/OpenSearch.xml">

	<!--<base target="_top">--><base href="." target="_top">
	<link rel="icon" href="http://www.codeproject.com/favicon.ico" type="image/ico">
<link rel="shortcut icon" href="http://www.codeproject.com/favicon.ico" type="image/ico">
<link rel="apple-touch-icon" href="http://www.codeproject.com/images/FavIcon-Apple.png" type="image/png">
<script type="text/javascript" language="Javascript">//<![CDATA[
if(top!=self && !/https?:\/\/([a-zA-Z]+\.)?facebook.com\//gi.test(top.location.href))top.location.href=location.href; if(typeof(DemoUrl)!='undefined')document.write(unescape('%3Cme')+'ta http'+'-equiv="re'+'fresh" con'+'tent="1;url='+DemoUrl+unescape('"%3CE'));
function SelfCheck(){ return window.confirm("You are about to reply to your own message. Is this really what you want?");}
function FireNew(elm) { window.location=$(elm).find('a')[0].href;}

var smoothScroll = true;
var Selected = "-1";
function Pin(elm){
 CloseMsg(Selected);
 Selected=''
 var wrk=elm.parentNode; if(wrk)wrk=wrk.children[0];
 var fc=elm?elm.firstChild:null;
 if (wrk&&!wrk.pinned) {
  OpenMsg(wrk.name, true);wrk.pinned=true;fc.src='http://s.codeproject.com/script/forums/images/pinned.gif';fc.title='Pinned. Click to unpin'
 } else {
  wrk.pinned=false;CloseMsg(wrk.name); fc.src='http://s.codeproject.com/script/forums/images/pin.gif';fc.title='Click to pin message'
 }
 return false;
}
function CloseMsg(msgId) {
 if(!msgId||msgId==''||msgId<0)return;
 var lnk=document.getElementsByName(msgId);
 if(lnk&&lnk.length>0&&lnk[0].pinned)return;
 var hed=document.getElementById('F' + msgId.toString() + '_h0');
 if(hed) hed.className = hed.className.replace("Sel", "UnSel");
 var bdy=document.getElementById('F' + msgId.toString() + '_h1');
 if(bdy) bdy.style.display = 'none';
}
function OpenMsg(msgId, keep) {
 if(!msgId||msgId==''||msgId<0)return;
 var bdy=document.getElementById('F' + msgId.toString() + '_h1');
 if(bdy){
  var lnk=document.getElementsByName(msgId);
  if(lnk&&lnk.length>0&&lnk[0].pinned)keep=true;
  if(keep&&bdy.style.display!='none')return;
  if(bdy.style.display=='none') bdy.style.display='';
  else bdy.style.display = 'none';
 }
 var hed=document.getElementById('F' + msgId.toString() + '_h0');
 if (hed) hed.className = hed.className.replace('UnSel', 'Sel');
 if(bdy&&hed&&bdy.style.display!='none'){
  var webkitWeird=document.documentElement.scrollTop < document.body.scrollTop;
  if (!webkitWeird)document.body.scrollTop = getRealPos(hed, 'Top') - document.body.clientHeight/10;
  EnsureMessageVisible(msgId, true);
 }
}
function EnsureMessageVisible(msgID, bShowTop) {
	var webkitWeird = document.documentElement.scrollTop < document.body.scrollTop;
	var msgHeader = document.getElementById('F' + msgID + '_h0');
	var msgBody = document.getElementById('F' + msgID + '_h1');
	if (!msgBody || !msgHeader) return;
	var scrollContainer = document.documentElement;
	var top = getRealPos(msgHeader, 'Top');
	var bottom = getRealPos(msgBody, 'Top') + msgBody.offsetHeight;
	var scrollTop = webkitWeird? scrollTop = document.body.scrollTop:document.documentElement.scrollTop;
	if (scrollTop > top && !bShowTop) scrollTop = top - scrollContainer.clientHeight / 10;
	if (scrollTop + scrollContainer.clientHeight < bottom) scrollTop = bottom - scrollContainer.clientHeight;
	if (scrollTop > top && bShowTop) scrollTop = top - scrollContainer.clientHeight / 10;
 if (smoothScroll){
  if (webkitWeird) $(document.body).stop().animate({'scrollTop' : scrollTop}, 'fast');
  else $(scrollContainer).stop().animate({'scrollTop' : scrollTop}, 'fast');
 } else {
  if (webkitWeird) document.body.scrollTop = scrollTop;
  else scrollContainer.scrollTop = scrollTop;
 }
}
function getRealPos(i,which) {
	iPos = 0;
	while (i!=null)  {
		iPos += i['offset' + which];
		i = i.offsetParent;
	}
	return iPos;
}
var switchCallback;
function SwitchMessage(e, msgId) {
  if (msgId) msgId=msgId.toString();
  else {
    if(!e)e=window.event;
    var target=e.target?e.target:e.srcElement;
    while(target&&target.className!='message-link')target=target.parentNode;
    if(!target||target.className!='message-link')return;
    if(target.pinned){/*Selected='';*/return false;}
    msgId=target.name;
  }
  CloseMsg(Selected)
  if(Selected==msgId) Selected='';
  else { OpenMsg(msgId, false); Selected=msgId;}
  if (e){if(e.preventDefault)e.preventDefault;else e.returnValue=false;}
    if(switchCallback)switchCallback(null, msgId)
  return false;
}


//]]>
</script>

<script type="text/javascript" async="" src="./Extending Visual Studio Setup Project - CodeProject®_files/ga.js"></script></head>	

<body class="chrome chrome17">




<a href="http://www.codeproject.com/Articles/146626/Extending-Visual-Studio-Setup-Project#Main"><img alt="Click here to Skip to main content" class="access-link" src="./Extending Visual Studio Setup Project - CodeProject®_files/t.gif"></a>


<div class="page-background">
	<div id="A" class="container-content">

		
		

		

		
		

<div class="container nav-memberbar clearfix">
<div class="member-stats float-left">8,577,463 members and growing!</div>
<div class="float-left"></div>
<div class="float-right">




	<script type="text/javascript">//<!--
	function doSubmit(secure)
	{
		if (secure)
			document.subForm.action = "https://www.codeproject.com/script/Membership/LogOn.aspx?rp=%2fArticles%2f146626%2fExtending-Visual-Studio-Setup-Project%2f"
		else
			document.subForm.action = "/script/Membership/LogOn.aspx?rp=%2fArticles%2f146626%2fExtending-Visual-Studio-Setup-Project%2f"
		document.subForm.submit();
		return true;
	}//-->
	</script>

	<a name="SignUp"></a>
	<form name="subForm" id="subForm" action="http://www.codeproject.com/script/Membership/LogOn.aspx?rp=%2fArticles%2f146626%2fExtending-Visual-Studio-Setup-Project%2f" method="post" class="tight">

	
	<input id="FormName" name="FormName" value="MenuBarForm" type="hidden">

	Email <input class="small-text" type="text" name="Email" id="Email" style="width:150px">
	Password <input class="small-text" type="password" name="Password" id="Password" style="width:60px">
	<input type="submit" value="Sign in" class="button" onclick="return doSubmit(false);">
	
	<input type="image" src="./Extending Visual Studio Setup Project - CodeProject®_files/secure.png" class="align-bottom" title="Sign on securely" onclick="return doSubmit(true);">
	<script type="text/javascript">
function Join(){document.location.href='http://www.codeproject.com/script/Membership/Modify.aspx';return false;}
document.write('<input type="button" class="button" onclick="return Join();" value="Join"');
document.write('<input type="hidden" name="fld_quicksign" value="true" />');
</script><input type="button" class="button" onclick="return Join();" value="Join" <input="" name="fld_quicksign">
	&nbsp;
	<a id="ctl00_MemberMenu_SendPassword" href="http://www.codeproject.com/script/Membership/SendPassword.aspx?rp=%2fArticles%2f146626%2fExtending-Visual-Studio-Setup-Project">Lost password?</a>
	</form>

</div>

</div>
		

		
		<table width="100%" cellspacing="0" cellpadding="0" border="0">
		<tbody><tr>
			<td class="page-header"><a href="http://www.codeproject.com/"><img id="ctl00_Logo" title="The Code Project" src="./Extending Visual Studio Setup Project - CodeProject®_files/logo225x90.gif" alt="Home" style="border-width:0px;"></a></td>
			<td class="page-header" align="right">
				<div class="lqm_ad" lqm_publisher="lqm.codeproject.site" lqm_zone="ros" lqm_format="728x90" lqm_tags="C#, Windows, .NET, Visual-Studio, CEO, Architect, Dev, WPF, Design, Beginner, Sales, Marketing, WinForm,rating4.5"><iframe id="lqmad1" width="728" height="90" marginwidth="0" marginheight="0" frameborder="0" scrolling="no"></iframe></div>
			</td>
		</tr></tbody></table>

		<table cellpadding="0" cellspacing="0" class="contrast1-background extended"><tbody><tr><td nowrap="nowrap">
			

<div class="navbar clearfix">
<ul id="nav">

<li><a id="ctl00_TopNavBar_Home" class="down" href="http://www.codeproject.com/">Home</a>


</li><li><a id="ctl00_TopNavBar_Art" class="down selected" href="http://www.codeproject.com/script/Articles/Latest.aspx">Articles</a>

	<ul>
		<li><a id="ctl00_TopNavBar_ArtTopicList" class="fly last" onmouseover="ShowMap(this, &#39;siteMap&#39;);" href="http://www.codeproject.com/script/Content/SiteMap.aspx">Chapters and Sections<span class="fly-menu">&gt;</span></a><ul id="ctl00_TopNavBar_MapFlyout"><li>
				<div id="siteMap" class="tooltip-flyout">
					<img src="./Extending Visual Studio Setup Project - CodeProject®_files/animated.gif" style="margin:150px;width:100px;height:100px;">
				</div>
			</li></ul>
		</li>
		<li><a id="ctl00_TopNavBar_ArtSearch" class="fly break" href="http://www.codeproject.com/search.aspx">Search</a></li>
		<li><a id="ctl00_TopNavBar_ArtLatestArts" class="fly" href="http://www.codeproject.com/script/Articles/Latest.aspx?at=1,3,7">Latest Articles</a></li>
		<li><a id="ctl00_TopNavBar_ArtLatestTips" class="fly" href="http://www.codeproject.com/script/Articles/Latest.aspx?at=6,8">Latest Tips/Tricks</a></li>
		<li><a id="ctl00_TopNavBar_ArtTop" class="fly" href="http://www.codeproject.com/script/Articles/TopArticles.aspx?ta_so=5">Top Articles</a></li>
		<li><a id="ctl00_TopNavBar_ArtBeginner" class="fly" href="http://www.codeproject.com/search.aspx?aidlst=152&sa_us=True">Beginner Articles</a></li>
		<li id="ctl00_TopNavBar_VideosLink">
			<a id="ctl00_TopNavBar_ArtVideoArticles" class="fly" href="http://www.codeproject.com/script/Articles/VideoArticleList.aspx">Video Articles</a>
		</li>
		<li><a id="ctl00_TopNavBar_ArtBlogArticles" class="fly break" href="http://www.codeproject.com/script/Articles/BlogArticleList.aspx">Technical Blogs</a></li>
		<li><a id="ctl00_TopNavBar_ArtPostArticle" class="fly" href="http://www.codeproject.com/script/Articles/Submit.aspx">Submit an Article or Tip</a></li>
		<li><a id="ctl00_TopNavBar_ArtPostBlog" class="fly break" href="http://www.codeproject.com/script/Articles/BlogFeed.aspx">Post your Blog</a></li>
		<li><a id="ctl00_TopNavBar_ArtGuide" class="fly" href="http://www.codeproject.com/info/Submit.aspx">Posting/Update Guidelines</a></li>
		<li><a id="ctl00_TopNavBar_ArtCompetition" class="fly last" href="http://www.codeproject.com/script/Awards/CurrentCompetitions.aspx?cmpTpId=1">Article Competition</a></li>
	</ul>

</li>



<li><a id="ctl00_TopNavBar_Answers" href="http://www.codeproject.com/script/Answers/List.aspx?tab=active">Quick Answers</a>
	<ul>
		<li id="ctl00_TopNavBar_AQL"><a id="ctl00_TopNavBar_ArticleQuestion" class="fly highlight" href="http://www.codeproject.com/Articles/146626/Extending-Visual-Studio-Setup-Project#_comments">Ask a Question about this article</a></li>

		<li><a id="ctl00_TopNavBar_QAAsk" class="fly" href="http://www.codeproject.com/Questions/ask.aspx">Ask a Question</a></li>

		
		<li><a id="ctl00_TopNavBar_QAUnanswered" class="fly" href="http://www.codeproject.com/script/Answers/List.aspx?tab=unanswered">View Unanswered Questions</a></li>
		<li><a id="ctl00_TopNavBar_QALatest" class="fly" href="http://www.codeproject.com/script/Answers/List.aspx?tab=active">View All Questions...</a></li>
		
				<li><a id="ctl00_TopNavBar_QATR_ctl00_Tag" class="fly" href="http://www.codeproject.com/script/Answers/List.aspx?tab=active&alltags=true&tags=81" style="padding-left:30px">C# questions</a></li>
			
				<li><a id="ctl00_TopNavBar_QATR_ctl01_Tag" class="fly" href="http://www.codeproject.com/script/Answers/List.aspx?tab=active&alltags=true&tags=85" style="padding-left:30px">ASP.NET questions</a></li>
			
				<li><a id="ctl00_TopNavBar_QATR_ctl02_Tag" class="fly" href="http://www.codeproject.com/script/Answers/List.aspx?tab=active&alltags=true&tags=842" style="padding-left:30px">VB.NET questions</a></li>
			
				<li><a id="ctl00_TopNavBar_QATR_ctl03_Tag" class="fly" href="http://www.codeproject.com/script/Answers/List.aspx?tab=active&alltags=true&tags=78" style="padding-left:30px">C++ questions</a></li>
			
				<li><a id="ctl00_TopNavBar_QATR_ctl04_Tag" class="fly" href="http://www.codeproject.com/script/Answers/List.aspx?tab=active&alltags=true&tags=308" style="padding-left:30px">C#4.0 questions</a></li>
			
	</ul>

</li>



<li><a id="ctl00_TopNavBar_Forums" href="http://www.codeproject.com/script/Forums/List.aspx">Discussions</a>

	<ul>
		<li><a id="ctl00_TopNavBar_MessageBoardsAll" class="fly" href="http://www.codeproject.com/script/Forums/List.aspx">All Message Boards...</a></li>
		<li><a class="fly" style="padding-left:30px" href="http://www.codeproject.com/Forums/1580997/Application-Lifecycle.aspx">Application Lifecycle<span class="fly-menu">&gt;</span></a>
<ul><li><a class="fly" href="http://www.codeproject.com/Forums/1533717/Running-a-Business.aspx">Running a Business</a></li>
<li><a class="fly" href="http://www.codeproject.com/Forums/1533716/Sales-Marketing.aspx">Sales / Marketing</a></li>
<li><a class="fly" href="http://www.codeproject.com/Forums/1651/Collaboration-Beta-Testing.aspx">Collaboration / Beta Testing</a></li>
<li><a class="fly" href="http://www.codeproject.com/Forums/3304/Work-Training-Issues.aspx">Work &amp; Training Issues</a></li>
</ul></li>
<li><a class="fly" style="padding-left:30px" href="http://www.codeproject.com/Forums/369270/Design-and-Architecture.aspx">Design and Architecture</a>
</li>
<li><a class="fly" style="padding-left:30px" href="http://www.codeproject.com/Forums/1627782/Free-Tools.aspx">Free Tools</a>
</li>
<li><a class="fly" style="padding-left:30px" href="http://www.codeproject.com/Forums/12076/ASP-NET.aspx">ASP.NET</a>
</li>
<li><a class="fly" style="padding-left:30px" href="http://www.codeproject.com/Forums/1580226/JavaScript.aspx">JavaScript</a>
</li>
<li><a class="fly" style="padding-left:30px" href="http://www.codeproject.com/Forums/1647/C-Cplusplus-MFC.aspx">C / C++ / MFC<span class="fly-menu">&gt;</span></a>
<ul><li><a class="fly" href="http://www.codeproject.com/Forums/4486/ATL-WTL-STL.aspx">ATL /  WTL / STL</a></li>
<li><a class="fly" href="http://www.codeproject.com/Forums/3785/Managed-Cplusplus-CLI.aspx">Managed C++/CLI</a></li>
</ul></li>
<li><a class="fly" style="padding-left:30px" href="http://www.codeproject.com/Forums/1649/Csharp.aspx">C#</a>
</li>
<li><a class="fly" style="padding-left:30px" href="http://www.codeproject.com/Forums/1725/Database.aspx">Database</a>
</li>
<li><a class="fly" style="padding-left:30px" href="http://www.codeproject.com/Forums/186301/Hardware-Devices.aspx">Hardware &amp; Devices<span class="fly-menu">&gt;</span></a>
<ul><li><a class="fly" href="http://www.codeproject.com/Forums/1644/System-Admin.aspx">System Admin</a></li>
</ul></li>
<li><a class="fly" style="padding-left:30px" href="http://www.codeproject.com/Forums/1606152/Hosting-and-Servers.aspx">Hosting and Servers</a>
</li>
<li><a class="fly" style="padding-left:30px" href="http://www.codeproject.com/Forums/1643/Java.aspx">Java</a>
</li>
<li><a class="fly" style="padding-left:30px" href="http://www.codeproject.com/Forums/1653293/NET-4-5-Visual-Studio-11.aspx">.NET 4.5 &amp; Visual Studio 11</a>
</li>
<li><a class="fly" style="padding-left:30px" href="http://www.codeproject.com/Forums/1650/NET-Framework.aspx">.NET Framework</a>
</li>
<li><a class="fly" style="padding-left:30px" href="http://www.codeproject.com/Forums/13695/Mobile.aspx">Mobile</a>
</li>
<li><a class="fly" style="padding-left:30px" href="http://www.codeproject.com/Forums/1540733/Sharepoint.aspx">Sharepoint</a>
</li>
<li><a class="fly" style="padding-left:30px" href="http://www.codeproject.com/Forums/1004257/Silverlight-WPF.aspx">Silverlight / WPF</a>
</li>
<li><a class="fly" style="padding-left:30px" href="http://www.codeproject.com/Forums/1646/Visual-Basic.aspx">Visual Basic</a>
</li>
<li><a class="fly" style="padding-left:30px" href="http://www.codeproject.com/Forums/1640/Web-Development.aspx">Web Development</a>
</li>
<li><a class="fly" style="padding-left:30px" href="http://www.codeproject.com/Forums/1645/Site-Bugs-Suggestions.aspx">Site Bugs / Suggestions</a>
</li>

		<li class="heading">Other Languages<span class="fly-menu">&gt;</span>
		<ul>
		<li><a class="fly" href="http://www.codeproject.com/Forums/1580229/Hindi.aspx">General Indian Topics</a></li>
		<li><a class="fly" href="http://www.codeproject.com/Forums/1580230/Chinese.aspx">General Chinese Topics</a></li>
		</ul>
		</li>
		
	</ul>

</li>

<li><a id="ctl00_TopNavBar_Zones" href="http://www.codeproject.com/Zones/index.aspx">Learning Zones</a>

	<ul>
		<!--<li class="heading">Zones</li>-->
		<li><a href="http://www.codeproject.com/Zones/Commerce/" class="fly">The Commerce Zone</a></li><li><a href="http://www.codeproject.com/Zones/Mobile/" class="fly">The Mobile &amp; App Zone</a></li><li><a href="http://www.codeproject.com/Zones/Cloud/" class="fly">The Cloud Zone</a></li><li><a href="http://www.codeproject.com/Zones/Hardware/" class="fly">The Hardware Zone</a></li><li><a href="http://www.codeproject.com/Zones/Parallelism/" class="fly">The Parallelism Zone</a></li><li><a href="http://www.codeproject.com/Zones/WPF-Silverlight/" class="fly">The WPF / Silverlight Zone</a></li><li><a href="http://www.codeproject.com/Zones/Flex-Flash/" class="fly">The Flex / Flash Zone</a></li><li><a href="http://www.codeproject.com/Zones/HTML-CSS/" class="fly">The HTML5 / CSS3 Zone</a></li><li><a href="http://www.codeproject.com/Zones/SharePoint/" class="fly">SharePoint Zone</a></li><li><a href="http://www.codeproject.com/Zones/SqlServer/" class="fly">The SQL Zone</a></li><li><a href="http://www.codeproject.com/Zones/WhitePapers/" class="fly break">WhitePapers / Webcasts</a></li>
		<li><a id="ctl00_TopNavBar_Solutions" class="fly last" href="http://www.codeproject.com/KB/solution-center/">Solutions Center</a></li>
	</ul>

</li>










<li><a id="ctl00_TopNavBar_Features" href="http://www.codeproject.com/Feature/">Features</a>

	<ul>
		<li><a id="ctl00_TopNavBar_WhosWho" class="fly" href="http://www.codeproject.com/script/Membership/Profiles.aspx">Who's Who</a></li>
		<li><a id="ctl00_TopNavBar_MVPs" class="fly" href="http://www.codeproject.com/script/Awards/MVPWinners.aspx">Most Valuable Professionals</a></li>
		<li><a id="ctl00_TopNavBar_Companies" class="fly break" href="http://www.codeproject.com/script/Membership/Profiles.aspx?mgtid=1&mgm=True">Company Listings</a></li>
		<li><a id="ctl00_TopNavBar_Catalog" class="fly" href="http://www.codeproject.com/script/Catalog/List.aspx">Component &amp; Service Catalog</a></li>
		<li><a id="ctl00_TopNavBar_Comps" class="fly" href="http://www.codeproject.com/script/Awards/CurrentCompetitions.aspx?cmpTpId=1&awsac=true">Competitions</a></li>
		<li><a id="ctl00_TopNavBar_News" class="fly" href="http://www.codeproject.com/script/News/List.aspx">News</a></li>
		<li></li>
		<li><a id="ctl00_TopNavBar_Insider" class="fly" href="http://www.codeproject.com/Feature/Insider/">The Insider Newsletter</a></li>
		<li><a id="ctl00_TopNavBar_Newsletters" class="fly" href="http://www.codeproject.com/script/Mailouts/Archive.aspx?mtpid=1">Newsletter archive</a></li>
		<li><a id="ctl00_TopNavBar_PressRelease" class="fly" href="http://www.codeproject.com/script/PressReleases/Preview.aspx">Press Releases</a></li>
		<li><a id="ctl00_TopNavBar_Surveys" class="fly" href="http://www.codeproject.com/script/Surveys/List.aspx">Surveys</a></li>
		<li><a id="ctl00_TopNavBar_Stuff" class="fly last" href="http://www.codeproject.com/Info/Stuff.aspx">CodeProject Stuff</a></li>
		<li></li>
	</ul>

</li>


<li><a id="ctl00_TopNavBar_Help" href="http://www.codeproject.com/KB/FAQs/">Help!</a>

	<ul>
		<li><a id="ctl00_TopNavBar_HelpWhatIs" class="fly" href="http://www.codeproject.com/info/guide.aspx">What is 'The Code Project'?</a></li>
		<li><a id="ctl00_TopNavBar_HelpGeneral" class="fly" href="http://www.codeproject.com/KB/FAQs/">General FAQ</a></li>
		<li><a id="ctl00_TopNavBar_HelpPostQuestion" class="fly" href="http://www.codeproject.com/Questions/ask.aspx">Post a Question</a></li>
		<li><a id="ctl00_TopNavBar_HelpBugs" class="fly" href="http://www.codeproject.com/Forums/1645/Site-Bugs-Suggestions.aspx">Bugs and Suggestions</a></li>
		<li><a id="ctl00_TopNavBar_HelpSiteMap" class="fly" href="http://www.codeproject.com/script/Content/SiteMap.aspx">Site Directory</a></li>
		<li><a id="ctl00_TopNavBar_HelpAdvertise" class="fly" href="http://lakequincy.com/">Advertise with us</a></li>
		<li><a id="ctl00_TopNavBar_HelpAboutUs" class="fly last" href="http://www.codeproject.com/info/about.aspx">About Us</a></li>
	</ul>

</li>


<li style="margin-left:10px">
<a id="ctl00_TopNavBar_Lounge" class="simple" href="http://www.codeproject.com/Lounge.aspx">The Lounge</a>

	<ul>
		<li><a id="ctl00_TopNavBar_InsiderLnk" class="fly" href="http://www.codeproject.com/Insider.aspx">The Insider News</a></li>
		<li><a id="ctl00_TopNavBar_LoungeLnk" class="fly" href="http://www.codeproject.com/Lounge.aspx">The Lounge &nbsp;</a></li>
		<li><a id="ctl00_TopNavBar_CleverLnk" class="fly" href="http://www.codeproject.com/feature/CleverCode.aspx">Clever Code</a></li>
		<li><a id="ctl00_TopNavBar_ShameLnk" class="fly" href="http://www.codeproject.com/feature/HallOfSHame.aspx">Hall of Shame</a></li>
		<li><a id="ctl00_TopNavBar_SoapBoxLnk" class="fly" href="http://www.codeproject.com/Forums/1536756/The-Soapbox.aspx">The Soapbox</a></li>
	</ul>

</li>

</ul>

</div>

<script type="text/javascript">

function ShowMap(prnt, elmId) {
	var map = $('#' + elmId);
	
	if (!prnt.populated && !prnt.populating) {
		prnt.populating = true;
		map.css( { 'height': '400px', 'width': '400px' });
		map.load("/script/content/ajax/SiteMap.aspx", function() { prnt.populated = true; });
		prnt.populated = true;
		prnt.populating = false;
	}

	if (prnt.populated) {
		var left = Math.max(map.parent().offset().left, 200);
		var top = Math.max(map.parent().offset().top, 0);
		var width = Math.min((($(window).width()-left) * 0.9), 1000);
		var height = Math.min((($(window).height()-top) * 0.9), 700);
		map.css('width', width + 'px');
		map.css('height', height + 'px');
		map.css('overflow', 'auto');
		map.css('margin', '0');
	}
}

</script>
		</td><td align="right">
			

<div class="search-bar">

<form method="get" action="http://www.codeproject.com/search.aspx" name="Search" class="tight">


<table border="0" cellspacing="0" cellpadding="0" class="search"><tbody><tr><td><input tabindex="2" class="search  subdue" id="sb_tb" value="" name="q"></td><td><input type="image" src="./Extending Visual Studio Setup Project - CodeProject®_files/search.gif"></td></tr></tbody></table>

<div class="hover-container">
	<div id="SearchFilter" class="search-advanced small-text align-left" style="display: none; ">
	<b>Search within:<br></b>
		
		<input type="radio" id="sb_kw" name="sbo" value="kw" checked="true"><label for="sb_kw">Articles</label><br>
<input type="radio" id="sb_qa" name="sbo" value="qa"><label for="sb_qa">Quick Answers</label><br>
<input type="radio" id="sb_fm" name="sbo" value="fm"><label for="sb_fm">Messages</label><br>
<input type="radio" id="sb_ctlk" name="sbo" value="ctlk"><label for="sb_ctlk">Product Catalog</label><br>


		
		
	</div>
</div>
</form>

</div>
		</td></tr></tbody></table>
		

		
		<div class="container-article hreview-aggregate"> 
		
			
			<div class="container-header">
				<div id="ctl00_Header" class="header">

					<a name="Main"></a>

					
					<a name="_articleTop" id="_articleTop"></a>
					

<div class="clearfix hover-container">

	
	<div class="float-right action-links"> 
		<span id="SBI"><img src="./Extending Visual Studio Setup Project - CodeProject®_files/share_drop24.png" id="ctl00_TitleArea_ActionLinks_AddTo_Img" width="37" height="24" alt="add" style="vertical-align:middle">
</span>
<div id="ATD" class="list-socialbookmark" style="left: 607px; top: 20px; "><div><a class="AddTo" title="Add this page to Twitter" onclick="return socialLinks.addto(0);" href="http://www.codeproject.com/Articles/146626/Extending-Visual-Studio-Setup-Project#"><img align="absmiddle" src="./Extending Visual Studio Setup Project - CodeProject®_files/AddTo_Twitter.gif" width="16px" height="16px" border="0"> Twitter</a> </div><div><a class="AddTo" title="Add this page to Digg" onclick="return socialLinks.addto(1);" href="http://www.codeproject.com/Articles/146626/Extending-Visual-Studio-Setup-Project#"><img align="absmiddle" src="./Extending Visual Studio Setup Project - CodeProject®_files/AddTo_Digg.png" width="16px" height="16px" border="0"> Digg</a> </div><div><a class="AddTo" title="Add this page to Facebook" onclick="return socialLinks.addto(2);" href="http://www.codeproject.com/Articles/146626/Extending-Visual-Studio-Setup-Project#"><img align="absmiddle" src="./Extending Visual Studio Setup Project - CodeProject®_files/AddTo_Facebook.png" width="16px" height="16px" border="0"> Facebook</a> </div><div><a class="AddTo" title="Add this page to Del.icio.us" onclick="return socialLinks.addto(3);" href="http://www.codeproject.com/Articles/146626/Extending-Visual-Studio-Setup-Project#"><img align="absmiddle" src="./Extending Visual Studio Setup Project - CodeProject®_files/AddTo_Delicious.png" width="16px" height="16px" border="0"> Del.icio.us</a> </div><div><a class="AddTo" title="Add this page to Reddit" onclick="return socialLinks.addto(4);" href="http://www.codeproject.com/Articles/146626/Extending-Visual-Studio-Setup-Project#"><img align="absmiddle" src="./Extending Visual Studio Setup Project - CodeProject®_files/AddTo_Reddit.png" width="16px" height="16px" border="0"> Reddit</a> </div><div><a class="AddTo" title="Add this page to Stumbleupon" onclick="return socialLinks.addto(5);" href="http://www.codeproject.com/Articles/146626/Extending-Visual-Studio-Setup-Project#"><img align="absmiddle" src="./Extending Visual Studio Setup Project - CodeProject®_files/AddTo_stumbleupon.png" width="16px" height="16px" border="0"> Stumbleupon</a> </div><div><a class="AddTo" title="Add this page to Newsvine" onclick="return socialLinks.addto(6);" href="http://www.codeproject.com/Articles/146626/Extending-Visual-Studio-Setup-Project#"><img align="absmiddle" src="./Extending Visual Studio Setup Project - CodeProject®_files/AddTo_Newsvine.png" width="16px" height="16px" border="0"> Newsvine</a> </div><div><a class="AddTo" title="Add this page to Technorati" onclick="return socialLinks.addto(7);" href="http://www.codeproject.com/Articles/146626/Extending-Visual-Studio-Setup-Project#"><img align="absmiddle" src="./Extending Visual Studio Setup Project - CodeProject®_files/AddTo_Technorati.png" width="16px" height="16px" border="0"> Technorati</a> </div><div><a class="AddTo" title="Add this page to Mr. Wong" onclick="return socialLinks.addto(8);" href="http://www.codeproject.com/Articles/146626/Extending-Visual-Studio-Setup-Project#"><img align="absmiddle" src="./Extending Visual Studio Setup Project - CodeProject®_files/AddTo_MrWong.png" width="16px" height="16px" border="0"> Mr. Wong</a> </div><div><a class="AddTo" title="Add this page to Yahoo!" onclick="return socialLinks.addto(9);" href="http://www.codeproject.com/Articles/146626/Extending-Visual-Studio-Setup-Project#"><img align="absmiddle" src="./Extending Visual Studio Setup Project - CodeProject®_files/AddTo_Yahoo.png" width="16px" height="16px" border="0"> Yahoo!</a> </div><div><a class="AddTo" title="Add this page to Google" onclick="return socialLinks.addto(10);" href="http://www.codeproject.com/Articles/146626/Extending-Visual-Studio-Setup-Project#"><img align="absmiddle" src="./Extending Visual Studio Setup Project - CodeProject®_files/AddTo_Google.png" width="16px" height="16px" border="0"> Google</a> </div><div><a class="AddTo" title="Add this page to Windows Live" onclick="return socialLinks.addto(11);" href="http://www.codeproject.com/Articles/146626/Extending-Visual-Studio-Setup-Project#"><img align="absmiddle" src="./Extending Visual Studio Setup Project - CodeProject®_files/AddTo_Live.png" width="16px" height="16px" border="0"> Windows Live</a> </div><div><a class="AddTo" title="Send as Email" onclick="return socialLinks.addto(12);" href="http://www.codeproject.com/Articles/146626/Extending-Visual-Studio-Setup-Project#"><img align="absmiddle" src="./Extending Visual Studio Setup Project - CodeProject®_files/envelope.gif" width="16px" height="16px" border="0"> Send as Email</a> </div></div> 
 

<span class="tooltip">
	 
	<div class="speech-bubble-container-up">
		<div class="speech-bubble-up">Add to your CodeProject bookmarks</div>
		<div class="speech-bubble-pointer-up">
			<div class="speech-bubble-pointer-up-inner"></div>
		</div>
	</div>
</span>

<a id="discussAnch" href="http://www.codeproject.com/Articles/146626/Extending-Visual-Studio-Setup-Project#_comments" class="tooltip anchorLink">
	
	<img src="./Extending Visual Studio Setup Project - CodeProject®_files/discuss.gif" width="24px" height="24px" alt="Discuss" style="vertical-align:middle;border:0">
	<div class="speech-bubble-container-up">
		<div class="speech-bubble-up">Discuss this article</div>
		<div class="speech-bubble-pointer-up">
			<div class="speech-bubble-pointer-up-inner"></div>
		</div>
	</div>
</a>

<span id="ctl00_TitleArea_ActionLinks_cmtcnt" class="subdue small-text align-middle" style="margin-left:-4px">24</span>

<a id="ctl00_TitleArea_ActionLinks_PrintLnk" class="tooltip" href="http://www.codeproject.com/Articles/146626/Extending-Visual-Studio-Setup-Project?display=Print">
	<img src="./Extending Visual Studio Setup Project - CodeProject®_files/print.gif" width="24px" height="24px" style="vertical-align:middle;border:0">
	<div class="speech-bubble-container-up">
		<div class="speech-bubble-up">Print Article</div>
		<div class="speech-bubble-pointer-up">
			<div class="speech-bubble-pointer-up-inner"></div>
		</div>
	</div>
</a>
	</div>

	<div class="container">
		
		<div class="breadcrumb float-left"><a href="http://www.codeproject.com/script/Content/SiteMap.aspx"><span class="sitemap-anchor" onmouseover="ShowMap(this,&#39;map&#39;);"><img width="16px" height="16px" src="./Extending Visual Studio Setup Project - CodeProject®_files/sitemap16.png" border="0" alt="Site map" style="vertical-align:middle"><div id="map" class="tooltip-flyout"><img src="./Extending Visual Studio Setup Project - CodeProject®_files/animated.gif" style="margin:150px;width:100px;height:100px;border:0;"></div></span></a> » <a href="http://www.codeproject.com/Chapters/11/Development-Lifecycle.aspx">Development Lifecycle</a> » <a href="http://www.codeproject.com/KB/install/">Installation</a> » <a href="http://www.codeproject.com/KB/install/#General">General</a></div>
	</div>

	
	<div id="ctl00_TitleArea_InfoArea" class="float-right pad-top">
		

<div class="infobox">
	<table class="tight small-text" cellpadding="0" cellspacing="1">
	<tbody><tr><td>Licence&nbsp;</td><td><a href="http://www.opensource.org/licenses/ms-pl.html" title="The Microsoft Public License (Ms-PL)">Ms-PL</a></td></tr>
	
	<tr><td>First Posted&nbsp;</td><td nowrap="nowrap"><b>16 Jan 2011</b></td></tr>
	<tr><td>Views&nbsp;</td><td><b>38,096</b></td></tr>
	
	<tr><td>Downloads&nbsp;</td><td><b>2,164</b></td></tr>
		
	
	<tr><td>Bookmarked&nbsp;</td><td><b>126 times</b></td></tr>
	

	
	
	</tbody></table>
</div>	
	</div>

	
	<div class="item">
	<h1 id="ctl00_TitleArea_ArticleTitle" class="fn">Extending Visual Studio Setup Project</h1> 
	</div>

	
	<div class="author">
		By <b><a href="http://www.codeproject.com/script/Membership/View.aspx?mid=7121713">Shai Raiten</a></b> | 
		16 Jan 2011 
		

		
		
	</div>
	
	<div class="tags">
	<span id="ctl00_TitleArea_TagsList_TagWrp" class="tags">
	
	
	
	<span id="ctl00_TitleArea_TagsList_VisibleTags"><span class="t"><a href="http://www.codeproject.com/search.aspx?aidlst=81">C#</a></span><span class="t"><a href="http://www.codeproject.com/search.aspx?aidlst=94">Windows</a></span><span class="t"><a href="http://www.codeproject.com/search.aspx?aidlst=98">.NET</a></span><span class="t"><a href="http://www.codeproject.com/search.aspx?aidlst=103">Visual-Studio</a></span><span class="t"><a href="http://www.codeproject.com/search.aspx?aidlst=115">CEO</a></span><span class="t"><a href="http://www.codeproject.com/search.aspx?aidlst=116">Architect</a></span><span class="t"><a href="http://www.codeproject.com/search.aspx?aidlst=118">Dev</a></span><span class="t"><a href="http://www.codeproject.com/search.aspx?aidlst=140">WPF</a></span><span class="t"><a href="http://www.codeproject.com/search.aspx?aidlst=148">Design</a></span><span class="t"><a href="http://www.codeproject.com/search.aspx?aidlst=152">Beginner</a></span></span><acronym id="ctl00_TitleArea_TagsList_HiddenTags" title="plus: Sales, Marketing, WinForm">, +</acronym> 

	
	
</span>

	</div>

	
	<div class="abstract summary"><span id="ctl00_TitleArea_ArticleDescr">Extending Visual Studio Setup Project for Building Reliable Windows Installer (MSI) </span></div>
</div>



					

				</div>

				<div id="ctl00_HeadSide" class="header-sidebar">
					<div class="align-left" style="height:24px">
						


&nbsp;










					</div>

					<div id="ctl00_SeeAlso_ZL" class="zone">

	Part of <a id="ctl00_SeeAlso_ZoneLink" class="bold" href="http://www.codeproject.com/Zones/WPF-Silverlight/">The WPF / Silverlight Zone</a>
	<span id="ctl00_SeeAlso_ZoneSponsor">sponsored by <a id="ctl00_SeeAlso_ZoneLnk" href="http://www.codeproject.com/Zones/WPF-Silverlight/"><img id="ctl00_SeeAlso_ZoneImg" src="./Extending Visual Studio Setup Project - CodeProject®_files/infragistics-60x24.jpg" style="border-width:0px;width:48px;height:24px;vertical-align:middle"></a></span>
	
</div>

<div class="bold pad-top">See Also</div>
<ul class="outdent small-text" style="margin-left:5px">
	<li><a id="ctl00_SeeAlso_LikeThis" href="http://www.codeproject.com/search.aspx?q=Extending+Visual+Studio+Setup+Project">More like this</a></li>
	<li><a id="ctl00_SeeAlso_ByAuthor" href="http://www.codeproject.com/script/Articles/MemberArticles.aspx?amid=7121713">More by this author</a></li>
</ul>

				</div>

			</div>
			

			
			<div id="ctl00_Nav" class="container-nav">
				<div id="ctl00_TabContainer" class="tabs-container clearfix">

					<div class="float-left">
						
						

<div class="tabs float-left"><table cellpadding="0" cellspacing="0"><tbody><tr>
	<td class="tab-selected">Article</td><td class="tab-unselected"><a href="http://www.codeproject.com/script/Articles/ViewDownloads.aspx?aid=146626">Browse Code</a></td><td class="tab-unselected"><a href="http://www.codeproject.com/script/Articles/Statistics.aspx?aid=146626">Stats</a></td><td class="tab-unselected"><a href="http://www.codeproject.com/script/Articles/ListVersions.aspx?aid=146626">Revisions (5)</a></td><td class="tab-unselected"><a href="http://www.codeproject.com/script/Articles/ListAlternatives.aspx?aid=146626">Alternatives</a></td>
</tr></tbody></table></div>	


						
						<div class="float-left" style="margin-left:15px">
							<div id="ctl00_CurRat" class="tooltip" name="CurRat_146626">
								

<table cellpadding="0" cellspacing="0" class="small-text">
<tbody><tr>
	
	<td class="nowrap">

		<span id="ctl00_ArticleRating_VI">
		<div class="nowrap rating-stars" style="height:24px;width:120px;position:relative;">
	<div class="clipped align-left float-left" style="height:24px;width:118px;">
		<img src="./Extending Visual Studio Setup Project - CodeProject®_files/stars-fill.png" style="border-width:0px;">
	</div><div class="clipped" style="height:24px;width:2px;position:relative;">
		<img src="./Extending Visual Studio Setup Project - CodeProject®_files/stars-empty.png" style="border-width:0px;position:absolute;top:0;right:0;">
	</div>
</div>
		</span>

		
	</td>
	
	<td id="ctl00_ArticleRating_VR" class="nowrap">
		&nbsp;
		<span id="ctl00_ArticleRating_VotesR">&nbsp;<span class="rating">4.94</span> (<span class="count">35 votes</span>)</span>
		
	</td>

</tr>

</tbody></table>

								<div id="ctl00_RB" class="speech-bubble-container-up">
									<div class="speech-bubble-up" style="width:150px !important">
										            
<div>
<table class="feature" width="100%" height="50px" title="Voting Distribution. Recent data only" cellpadding="0" cellspacing="0"><tbody><tr><td class="chart-column"><img src="./Extending Visual Studio Setup Project - CodeProject®_files/t(1).gif" width="20pxpx" height="1px" border="0px" alt="" title=""><br><span title="0 votes">1</span></td>
<td class="chart-column"><img src="./Extending Visual Studio Setup Project - CodeProject®_files/t(1).gif" width="20pxpx" height="1px" border="0px" alt="" title=""><br><span title="0 votes">2</span></td>
<td class="chart-column"><img src="./Extending Visual Studio Setup Project - CodeProject®_files/t(1).gif" width="20pxpx" height="1px" border="0px" alt="" title=""><br><span title="0 votes">3</span></td>
<td class="chart-column"><img src="./Extending Visual Studio Setup Project - CodeProject®_files/pollcol.gif" width="20pxpx" height="4px" border="0px" alt="3 votes, 8.6%" title="3 votes, 8.6%"><br><span title="3 votes">4</span></td>
<td class="chart-column"><img src="./Extending Visual Studio Setup Project - CodeProject®_files/pollcol.gif" width="20pxpx" height="50px" border="0px" alt="32 votes, 91.4%" title="32 votes, 91.4%"><br><span title="32 votes">5</span></td>
</tr></tbody></table><div class="small-text align-center">4.94/5 - 35 votes</div><div class="small-text align-center subdue">μ 4.94, σ<sub>a</sub> 1.04 [<a href="http://www.codeproject.com/KB/FAQs/RatingReputationFAQ.aspx#noisefilter">?</a>]</div>
</div>
									</div>
									<div class="speech-bubble-pointer-up">
										<div class="speech-bubble-pointer-up-inner"></div>
									</div>
								</div>
							</div>
						</div>

						<div class="float-left">
							&nbsp; 
						</div>

					</div>

				</div>

				
			</div>
			

			
			<div class="container-text">

				<div id="AT" class="text">
					
					
					
					

					   

						
							
			
					<form name="aspnetForm" method="post" action="./Extending Visual Studio Setup Project - CodeProject®_files/Extending Visual Studio Setup Project - CodeProject®.htm" id="aspnetForm" style="margin:0;padding:0">
<div>
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKMjExOTQzNjk4Mw9kFgJmD2QWAgIGD2QWBgIRD2QWAgIBD2QWBmYPDxYCHgtOYXZpZ2F0ZVVybAUzL3NjcmlwdC9BcnRpY2xlcy9BZG1pbi9FZGl0b3JDaG9pY2UuYXNweD9haWQ9MTQ2NjI2ZGQCAg8PFgIfAAU5L3NjcmlwdC9Bd2FyZHMvQWRtaW4vQXdhcmRPYmplY3QuYXNweD9vYmlkPTE0NjYyNiZvYnRpZD0yZGQCCg8PFgIfAAUwL3NjcmlwdC9BcnRpY2xlcy9BZG1pbi9RdWV1ZUVkaXQuYXNweD9haWQ9MTQ2NjI2ZGQCFQ9kFgICDQ9kFgYCAg8WAh4GYWN0aW9uBTYvQXJ0aWNsZXMvMTQ2NjI2L0V4dGVuZGluZy1WaXN1YWwtU3R1ZGlvLVNldHVwLVByb2plY3QWCgIBDw8WAh8ABTcvc2NyaXB0L0FydGljbGVzL1N1Ym1pc3Npb25XaXphcmQuYXNweD9hdD0yJmFwaWQ9MTQ2NjI2ZGQCAw9kFgICAQ8WAh4HVmlzaWJsZWhkAgUPZBYCAgIPZBYCAgEPEGRkFgBkAgsPFgIeC18hSXRlbUNvdW50AgFkAg0PZBYCAgEPFgIeBFRleHQFXTxhICBocmVmPSIvQXJ0aWNsZXMvMTQ2NjI2L0V4dGVuZGluZy1WaXN1YWwtU3R1ZGlvLVNldHVwLVByb2plY3QjX2FydGljbGVUb3AiPkFydGljbGUgVG9wPC9hPmQCCg8PFgQfBAUJUGVybWFsaW5rHwAFNi9BcnRpY2xlcy8xNDY2MjYvRXh0ZW5kaW5nLVZpc3VhbC1TdHVkaW8tU2V0dXAtUHJvamVjdGRkAhkPFgIfBAUdQ29weXJpZ2h0IDIwMTEgYnkgU2hhaSBSYWl0ZW5kAhcPZBYCAgUPDxYCHwJoZGRk0uIPbfNY+ygaFsHGAowJ4uMhCVc=">
</div>

<div>

	<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWCAKV9bjzCALAlMXDBwLBlMXDBwLClMXDBwLDlMXDBwLElMXDBwLP+++tCwK5upDkCxHAqzyQa5ndbN2Vey5eRjb/uUD/">
</div>

						

						<!-- Article Text Start -->
						<div id="contentdiv">
						




<ul class="download">
<li><a href="http://www.codeproject.com/KB/install/ExtendVSSetupProject/DemoSetup.zip">Download demo setup - 32.29 KB</a> </li>
</ul>
<img width="84" height="82" style="WIDTH: 84px; HEIGHT: 82px" alt="1.png" src="./Extending Visual Studio Setup Project - CodeProject®_files/1.png" border="0" hspace="0" complete="true"> 
<h2>Introduction</h2>

<p>One of the things I hear all the time when companies talk about building reliable Windows Installer (MSI) for their product is –&gt; Visual Studio Setup Project is not enough and we need much much more, my first response is – Wait, VS Setup project is not like <a href="http://www.advancedinstaller.com/" target="_blank">Advanced Installer</a>, <a href="http://www.flexerasoftware.com/products/installshield.htm" target="_blank">InstallShield</a> but still can do a lot more outside the box. </p>

<p>Setup projects are used to create Windows Installer (<em>.msi</em>) files, which are used to distribute your application for installation on another computer or Web server. There are two types of setup projects: </p>

<ul>
<li>Standard setup projects create installers that install Windows applications on a target computer. </li>

<li>Web setup projects create installers that install Web applications on a Web server. </li>
</ul>

<p>In this article, I’ll show how to extend your VS Setup Project and help to understand how VS Setup makes it easy for developers to build reliable Windows Installer (MSI) in Visual Studio. (All my screenshots will take from Visual Studio 2010.) </p>

<ol>
<li>Getting Started With VS Setup Project </li>

<li>Adding New User Dialog and Deployments Conditions </li>

<li>Run External Application during Setup </li>
</ol>

<h2>Getting Started </h2>

<p>Open Visual Studio and create new Setup Project called – "<code>DemoSetup</code>", the Setup project item can be found under "Other Project Types"-&gt; "Setup and Deployment" –&gt; "Visual Studio Installer". </p>

<p>Also create a WPF application called – "<code>DemoWpfApplication</code>", we need some project to work with. </p>

<p>Two things need to be done in order to get the MSI ready for deployment. </p>

<ol>
<li>On the <code>DemoSetup </code>project, Add Project Output from <code>DemoWPFApplication</code> – Setup will automatically find all related dependencies. </li>

<li>Modify Setup Project properties (See picture below)</li>
</ol>

<p>The <code>Version</code> Property is very important for various MSI, in order to identify old installation and overwrite existing files with a newer version. </p>
<img width="377" height="521" style="WIDTH: 377px; HEIGHT: 521px" alt="2.png" src="./Extending Visual Studio Setup Project - CodeProject®_files/2.png" border="0" hspace="0" complete="true"> 
<h2>Adding New User Dialog and Deployments Conditions </h2>

<p>Now, this is one of most common improvement users always want – Add an additional Dialog during the setup and add your own questions or input.<br>In this step, I’ll show how to add conditions and add a new user Dialog, here are the requirements: Add the following file (Dummy Files): </p>

<ul>
<li><em>Blue.bmp</em>,<em>Red.bmp</em>, <em>Green.bmp</em> </li>

<li><em>License.rtf</em> </li>

<li>"<em>Readme for 2000.txt</em>", "<em>Readme for Windows 7.txt</em>" </li>
</ul>

<h3>1. First Let's Add Our Product License Agreement</h3>

<p>Select the Setup Project and click "User Interface Editor" icon:</p>
<img width="166" height="30" style="WIDTH: 166px; HEIGHT: 30px" alt="3.png" src="./Extending Visual Studio Setup Project - CodeProject®_files/3.png" border="0" hspace="0" complete="true"> 
<p>This will open a view showing all the dialogs the user will see during the Setup process.<br>Click "Add Dialog" and choose "License Agreement", after adding this dialog view dialog properties and select the <em>License.rtf</em> file. </p>
<img width="539" height="294" style="WIDTH: 539px; HEIGHT: 294px" alt="4.png" src="./Extending Visual Studio Setup Project - CodeProject®_files/4.png" border="0" hspace="0" complete="true"> 
<h3>2. Add Deployment by Condition</h3>

<p>Add deployment condition for "<em>Readme for 2000.txt</em>", "<em>Readme for Windows 7.txt</em>", the propose is to copy each file only for specific operation system.<br>Select "<em>Readme for 2000.txt</em>" to see his properties, locate <code>Condition</code> and add this command – </p>

<div class="pre-action-link" id="premain0" width="100%" style="display:block"><img id="preimg0" src="./Extending Visual Studio Setup Project - CodeProject®_files/minus.gif" style="cursor: pointer; " height="9" width="9" preid="0"><span id="precollapse0" style="cursor: pointer; margin-bottom: 0px; " preid="0"> Collapse</span><span> | </span><a href="http://www.codeproject.com/Articles/146626/Extending-Visual-Studio-Setup-Project#" preid="0">Copy Code</a></div><pre lang="text" id="pre0" style="margin-top: 0px; "><strong>WindowsBuild = 2195 or VersionNT = 500</strong> </pre>

<p>Now select "Readme for Windows 7.txt" and add this in the Condition property –</p>

<div class="pre-action-link" id="premain1" width="100%" style="display:block"><img id="preimg1" src="./Extending Visual Studio Setup Project - CodeProject®_files/minus.gif" style="cursor: pointer; " height="9" width="9" preid="1"><span id="precollapse1" style="cursor: pointer; margin-bottom: 0px; " preid="1"> Collapse</span><span> | </span><a href="http://www.codeproject.com/Articles/146626/Extending-Visual-Studio-Setup-Project#" preid="1">Copy Code</a></div><pre lang="text" id="pre1" style="margin-top: 0px; "><strong>WindowsBuild &gt;= 7100 or VersionNT = 601</strong> </pre>

<p>(More information on <a href="http://msdn.microsoft.com/en-us/library/aa370556.aspx" target="_blank">Operating System Property Values</a>)<br>The condition will allow you to copy specific file depending on the user OS. </p>

<h3>3. Add your User Choose Condition </h3>

<p>This step will show you how to add your own questions (using Radio Buttons) and allow the user to define a Favorite Color and use User choose as condition for deployment.<br>Add a new Dialog and choose "<code>RadioButton</code> (3 buttons)" add fill the information as below: </p>
<img width="385" height="309" style="WIDTH: 385px; HEIGHT: 309px" alt="5.png" src="./Extending Visual Studio Setup Project - CodeProject®_files/5.png" border="0" hspace="0" complete="true"> 
<p>To add the condition, you need to select each of the following files: <em>Blue.bmp</em>, <em>Red.bmp</em>, <em>Green.bmp</em> and add the proper value in the condition property as follow - <strong></strong><code><strong>FAVORITECOLOR="Blue"</strong></code>, <strong><code>FAVORITECOLOR="Red" etc</code>.</strong> </p>

<p>Build the setup project and run it, select Green in "Favorite Color" and the result should look like: </p>
<img width="222" height="93" style="WIDTH: 222px; HEIGHT: 93px" alt="6.png" src="./Extending Visual Studio Setup Project - CodeProject®_files/6.png" border="0" hspace="0" complete="true"> 
<h2>Run External Application during Setup </h2>

<p>In this step, I’ll show how to run an external application before the actual install process using "Installer Class".<br>Create new WPF Application project called – "<code>SetupHelper</code>" and add additional Item of type "Installer Class" called – "<code>MyInstallerHelper</code>".<br>The <code>InstallerClass </code>will allow you to override the following events: </p>

<ul class="event">
<li><code>Rollback</code> </li>

<li><code>Install</code> </li>

<li><code>OnAfterInstall</code></li>

<li><code>Commit</code></li>

<li><code>OnAfterRollback</code></li>

<li><code>OnAfterUninstall</code></li>

<li><code>OnBeforeRollback</code></li>

<li><code>OnBeforeUninstall</code></li>

<li><code>OnCommitted</code></li>

<li><code>OnCommitting</code></li>

<li><code>Uninstall</code></li>

<li><code>OnBeforeInstall</code></li>
</ul>

<p>First, add your code for "<code>SetupHelper</code>" WPF application, I’ve added code to show current processes and process title, but you can add whatever you want.<br>Now we need to add "<code>SetupHelper</code>" WPF app to our setup project, select the Setup Project and "Add Project Output" of <code>SetupHelper</code>.<br>Select the Setup Project and click on the "Custom Actions Editor" icon:</p>
<img width="142" height="26" style="WIDTH: 142px; HEIGHT: 26px" alt="7.png" src="./Extending Visual Studio Setup Project - CodeProject®_files/7.png" complete="true"> 
<p>On the install, add new "Custom Action" and from the "Application Folder", pick "Primary output from <code>SetupHelper </code>(Active).<br>Now select the new Custom Action and in the "<code>CustomActionData</code>", add the following - </p>

<div class="pre-action-link" id="premain2" width="100%" style="display:block"><img id="preimg2" src="./Extending Visual Studio Setup Project - CodeProject®_files/minus.gif" style="cursor: pointer; " height="9" width="9" preid="2"><span id="precollapse2" style="cursor: pointer; margin-bottom: 0px; " preid="2"> Collapse</span><span> | </span><a href="http://www.codeproject.com/Articles/146626/Extending-Visual-Studio-Setup-Project#" preid="2">Copy Code</a></div><pre lang="text" id="pre2" style="margin-top: 0px; ">/Run=SetupHelper.exe /WaitForExit=true 
</pre>

<p>Back to <code>MyInstallerHelper</code>, override <strong><code>OnBeforeInstall</code> </strong>and paste the code below in order<strong> </strong>to get the <code>CustomActionData</code> you wrote above:</p>

<div class="pre-action-link" id="premain3" width="100%" style="display:block"><img id="preimg3" src="./Extending Visual Studio Setup Project - CodeProject®_files/minus.gif" style="cursor: pointer; " height="9" width="9" preid="3"><span id="precollapse3" style="cursor: pointer; margin-bottom: 0px; " preid="3"> Collapse</span><span> | </span><a href="http://www.codeproject.com/Articles/146626/Extending-Visual-Studio-Setup-Project#" preid="3">Copy Code</a></div><pre lang="cs" id="pre3" style="margin-top: 0px; "><span class="code-keyword">protected</span> <span class="code-keyword">override</span> <span class="code-keyword">void</span> OnBeforeInstall(IDictionary savedState)
{
    <span class="code-keyword">try</span>
    {
        <span class="code-keyword">base</span>.OnBeforeInstall(savedState);
        FileInfo fileInfo = <span class="code-keyword">new</span> FileInfo
		(System.Reflection.Assembly.GetExecutingAssembly().Location);
        <span class="code-comment">//</span><span class="code-comment">Take custom action data values
</span>        <span class="code-keyword">string</span> sProgram = Context.Parameters[<span class="code-string">"</span><span class="code-string">Run"</span>];
        sProgram = Path.Combine(fileInfo.DirectoryName, sProgram);
        Trace.WriteLine(<span class="code-string">"</span><span class="code-string">Install sProgram= "</span> + sProgram);
        OpenWithStartInfo(sProgram);
    }
    <span class="code-keyword">catch</span> (Exception exc)
    {
        Context.LogMessage(exc.ToString());
        <span class="code-keyword">throw</span>;
    }
}</pre>

<p><strong><code>OpenWithStartInfo</code> </strong>will run <code>SetupHelper </code>application and will pause the setup process while the <code>SetupHelper </code>is open. </p>

<div class="pre-action-link" id="premain4" width="100%" style="display:block"><img id="preimg4" src="./Extending Visual Studio Setup Project - CodeProject®_files/minus.gif" style="cursor: pointer; " height="9" width="9" preid="4"><span id="precollapse4" style="cursor: pointer; margin-bottom: 0px; " preid="4"> Collapse</span><span> | </span><a href="http://www.codeproject.com/Articles/146626/Extending-Visual-Studio-Setup-Project#" preid="4">Copy Code</a></div><pre lang="cs" id="pre4" style="margin-top: 0px; "><span class="code-keyword">void</span> OpenWithStartInfo(<span class="code-keyword">string</span> sProgram)
{
    ProcessStartInfo startInfo = <span class="code-keyword">new</span> ProcessStartInfo(sProgram);
    startInfo.WindowStyle = ProcessWindowStyle.Normal;
    <span class="code-keyword">string</span>[] ExcludeKeys = <span class="code-keyword">new</span> <span class="code-keyword">string</span>[] { <span class="code-string">"</span><span class="code-string">run"</span>, <span class="code-string">"</span><span class="code-string">WaitForExit"</span> };
    startInfo.Arguments = ContextParametersToCommandArguments(Context, ExcludeKeys);
    Trace.WriteLine(<span class="code-string">"</span><span class="code-string">run the program "</span> + sProgram + startInfo.Arguments);
    Process p = Process.Start(startInfo);
    ShowWindow(p.MainWindowHandle, WindowShowStyle.Show); 	<span class="code-comment">//</span><span class="code-comment">otherwise it is 
</span>							<span class="code-comment">//</span><span class="code-comment">not activated 
</span>    SetForegroundWindow(p.MainWindowHandle);
    BringWindowToTop(p.MainWindowHandle); 	<span class="code-comment">//</span><span class="code-comment"> Make sure the user will see 
</span>					<span class="code-comment">//</span><span class="code-comment"> the new window above of the setup.
</span>    Trace.WriteLine(<span class="code-string">"</span><span class="code-string">the program Responding= "</span> + p.Responding);
    <span class="code-keyword">if</span> ((Context.IsParameterTrue(<span class="code-string">"</span><span class="code-string">WaitForExit"</span>)))
    {
        p.WaitForExit();<span class="code-comment">//</span><span class="code-comment"> Have to hold the setup until the application is closed.
</span>    }
}</pre>

<p><strong><code>ContextParametersToCommandArguments</code> </strong>gets the <code>CustomActionData</code> arguments you added in the Custom Action. </p>

<div class="pre-action-link" id="premain5" width="100%" style="display:block"><img id="preimg5" src="./Extending Visual Studio Setup Project - CodeProject®_files/minus.gif" style="cursor: pointer; " height="9" width="9" preid="5"><span id="precollapse5" style="cursor: pointer; margin-bottom: 0px; " preid="5"> Collapse</span><span> | </span><a href="http://www.codeproject.com/Articles/146626/Extending-Visual-Studio-Setup-Project#" preid="5">Copy Code</a></div><pre lang="cs" id="pre5" style="margin-top: 0px; "><span class="code-keyword">public</span> <span class="code-keyword">static</span> <span class="code-SDKkeyword">String</span> ContextParametersToCommandArguments
		(InstallContext context, <span class="code-keyword">string</span>[] ExcludeKeys)
{
    ExcludeKeys = ToLower(ExcludeKeys);
    StringBuilder sb = <span class="code-keyword">new</span> StringBuilder();
    <span class="code-keyword">foreach</span> (DictionaryEntry de <span class="code-keyword">in</span> context.Parameters)
    {
        <span class="code-keyword">string</span> sKey = (<span class="code-keyword">string</span>)de.Key;
        <span class="code-keyword">bool</span> bAdd = <span class="code-keyword">true</span>;
        <span class="code-keyword">if</span> (ExcludeKeys != <span class="code-keyword">null</span>)
        {
            bAdd = (Array.IndexOf(ExcludeKeys, sKey.ToLower()) &lt; <span class="code-digit">0</span>);
        }
        <span class="code-keyword">if</span> (bAdd)
        {
            AppendArgument(sb, sKey, (<span class="code-keyword">string</span>)de.Value);
        }
    }
    <span class="code-keyword">return</span> sb.ToString();
}

<span class="code-keyword">public</span> <span class="code-keyword">static</span> StringBuilder AppendArgument(StringBuilder sb, <span class="code-SDKkeyword">String</span> Key, <span class="code-keyword">string</span> value)
{
    sb.Append(<span class="code-string">"</span><span class="code-string"> /"</span>);
    sb.Append(Key);
    <span class="code-comment">//</span><span class="code-comment">Note that if value is empty string, = sign is expected, e.g."/PORT="
</span>    <span class="code-keyword">if</span> (value != <span class="code-keyword">null</span>)
    {
        sb.Append(<span class="code-string">"</span><span class="code-string">="</span>);
        sb.Append(value);
    }
    <span class="code-keyword">return</span> sb;
}

<span class="code-preprocessor">#region</span> <span class="code-string">"</span><span class="code-string">FS library methods"</span>
<span class="code-keyword">public</span> <span class="code-keyword">static</span> <span class="code-keyword">string</span>[] ToLower(<span class="code-keyword">string</span>[] Strings)
{
    <span class="code-keyword">if</span> (Strings != <span class="code-keyword">null</span>)
    {
        <span class="code-keyword">for</span> (<span class="code-keyword">int</span> i = <span class="code-digit">0</span>; i &lt; Strings.Length; i++)
        {
            Strings[i] = Strings[i].ToLower();
        }
    }
    <span class="code-keyword">return</span> Strings;
}
<span class="code-preprocessor">#endregion</span> <span class="code-comment">//</span><span class="code-comment">"FS library methods"
</span><span class="code-preprocessor">#region</span> <span class="code-string">"</span><span class="code-string">showWindow"</span>

<span class="code-comment">//</span><span class="code-comment"> http://pinvoke.net/default.aspx/user32.BringWindowToTop
</span>[DllImport(<span class="code-string">"</span><span class="code-string">user32.dll"</span>)]
<span class="code-keyword">static</span> <span class="code-keyword">extern</span> <span class="code-keyword">bool</span> BringWindowToTop(<span class="code-SDKkeyword">IntPtr</span> hWnd);

[DllImport(<span class="code-string">"</span><span class="code-string">user32.dll"</span>)]
[<span class="code-keyword">return</span>: MarshalAs(UnmanagedType.Bool)]
<span class="code-keyword">private</span> <span class="code-keyword">static</span> <span class="code-keyword">extern</span> <span class="code-keyword">bool</span> SetForegroundWindow(<span class="code-SDKkeyword">IntPtr</span> hWnd);

<span class="code-comment">//</span><span class="code-comment">from http://pinvoke.net/default.aspx/user32.SwitchToThisWindow 
</span>[DllImport(<span class="code-string">"</span><span class="code-string">user32.dll"</span>)]
<span class="code-keyword">private</span> <span class="code-keyword">static</span> <span class="code-keyword">extern</span> <span class="code-keyword">bool</span> ShowWindow(<span class="code-SDKkeyword">IntPtr</span> hWnd, WindowShowStyle nCmdShow);

<span class="code-SummaryComment">///</span><span class="code-comment"> <span class="code-SummaryComment">&lt;</span><span class="code-SummaryComment">summary</span><span class="code-SummaryComment">&gt;</span>Enumeration of the different ways of showing a window using 
</span><span class="code-SummaryComment">///</span><span class="code-comment"> ShowWindow<span class="code-SummaryComment">&lt;</span><span class="code-SummaryComment">/</span><span class="code-SummaryComment">summary</span><span class="code-SummaryComment">&gt;</span>
</span><span class="code-keyword">private</span> <span class="code-keyword">enum</span> WindowShowStyle : <span class="code-keyword">uint</span>
{
    Hide = <span class="code-digit">0</span>,
    ShowNormal = <span class="code-digit">1</span>,
    ShowMinimized = <span class="code-digit">2</span>,
    ShowMaximized = <span class="code-digit">3</span>,
    Maximize = <span class="code-digit">3</span>,
    ShowNormalNoActivate = <span class="code-digit">4</span>,
    Show = <span class="code-digit">5</span>,
    Minimize = <span class="code-digit">6</span>,
    ShowMinNoActivate = <span class="code-digit">7</span>,
    ShowNoActivate = <span class="code-digit">8</span>,
    Restore = <span class="code-digit">9</span>,
    ShowDefault = <span class="code-digit">10</span>,
    ForceMinimized = <span class="code-digit">11</span>
}
<span class="code-preprocessor">#endregion</span></pre>

<h2>Try It</h2>

<p>Now Run the Setup project and you will notice that during the installation process, your Setup Helper will pop up and prevent the Setup from continuing until you will close the application. </p>
<img width="617" height="507" style="WIDTH: 617px; HEIGHT: 507px" alt="8.png" src="./Extending Visual Studio Setup Project - CodeProject®_files/8.png" border="0" hspace="0" complete="true"> 
<p>After the setup is complete, you will see your setup output as below: </p>
<img width="223" height="172" style="WIDTH: 223px; HEIGHT: 172px" alt="9.png" src="./Extending Visual Studio Setup Project - CodeProject®_files/9.png" border="0" hspace="0" complete="true"> 
<h2>Summary </h2>

<p>As you saw in this article, Visual Studio Setup Project can be extended a lot more and this can be good for many applications. </p>

<h2>History</h2>

<ul>
<li>16<sup>th</sup> January, 2011: Initial post</li>
</ul>




						</div>
						<!-- Article Text End -->

						
						
						<h2>License</h2>
						<div id="LicenseTerms"><p>This article, along with any associated source code and files, is licensed under <a href="http://www.opensource.org/licenses/ms-pl.html" rel="license">The Microsoft Public License (Ms-PL)</a></p></div>
						

						
						<h2 id="ctl00_AboutHeading">About the Author</h2>

						<div class="float-right">
						<div class="lqm_ad" lqm_publisher="lqm.codeproject.site" lqm_zone="ros" lqm_format="300x250" lqm_loadonview="true" lqm_tags="C#, Windows, .NET, Visual-Studio, CEO, Architect, Dev, WPF, Design, Beginner, Sales, Marketing, WinForm,rating4.5"></div>
						</div>

						
						
<table cellpadding="0" cellspacing="5" border="0">
<tbody><tr valign="top">
<td id="ctl00_AboutAuthorRptr_ctl00_AboutAuthor_memberPhotoTable" valign="top" style="width:155px;">
	<b><a id="ctl00_AboutAuthorRptr_ctl00_AboutAuthor_memberProfileLink" href="http://www.codeproject.com/Members/Shai-Raiten">Shai Raiten</a></b><br><br>
	<center><img id="ctl00_AboutAuthorRptr_ctl00_AboutAuthor_memberPhoto" src="./Extending Visual Studio Setup Project - CodeProject®_files/{c9a24567-2ebe-4234-beef-ceb6289cf68b}.jpg" style="border-width:0px;"></center>

	<div class="small-text">
		<span id="ctl00_AboutAuthorRptr_ctl00_AboutAuthor_memberJobTitle">Architect</span><br>
		<span id="ctl00_AboutAuthorRptr_ctl00_AboutAuthor_memberCompany">Sela</span><br>
		<span id="ctl00_AboutAuthorRptr_ctl00_AboutAuthor_memberLocation"><img src="./Extending Visual Studio Setup Project - CodeProject®_files/IL.gif" alt="Israel" width="16px" height="11px"> Israel</span><br>
		<br>
		<span id="ctl00_AboutAuthorRptr_ctl00_AboutAuthor_memberType">Member</span><br>
		<br><a class="small-text" href="http://www.twitter.com/shai_rai"> <img style="vertical-align:middle;border:0;" src="./Extending Visual Studio Setup Project - CodeProject®_files/t_mini-b.png" alt="Follow on Twitter"> Follow on Twitter</a>
		<br>

		
	</div>
</td>

<td>
	Shai Raiten is VS ALM MVP, currently working for Sela Group as a ALM senior consultant and trainer specializes in Microsoft technologies especially Team System and .NET technology. He is currently consulting in various enterprises in Israel, planning and analysis Load and performance problems using Team System, building Team System customizations and adjusts ALM processes for enterprises. Shai is known as one of the top Team System experts in Israel. He conducts lectures and workshops for developers\QA and enterprises who want to specialize in Team System.<br>
&nbsp;<br>
My Blog: http://blogs.microsoft.co.il/blogs/shair/<br>	
</td>
</tr>
</tbody></table><br>
						
						

						<div class="clearfix"></div>

						
						<div id="ctl00_RateArticleRow" class="clearfix voting-bar">
						<div class="float-left" style="padding-top:8px"><a href="http://www.codeproject.com/Articles/146626/Extending-Visual-Studio-Setup-Project#_articleTop">Article Top</a></div>
						<div class="float-right align-right">
							<div id="ctl00_RateArticle_RateItemWrapper" class="small-text" name="RateItem_146626">

	<table width="100%" cellpadding="0" cellspacing="0" class="small-text">
	<tbody><tr>
		<td id="ctl00_RateArticle_VoteResultDiv" nowrap="nowrap" align="right">
			<span class="voteRes"></span>
			<img class="loaderImg" width="16px" alt="loading..." height="16px" src="./Extending Visual Studio Setup Project - CodeProject®_files/animated_loading_blue.gif" style="display:none;"> 
		</td>

	
		<td class="voteTbl" style="white-space:nowrap" align="right">
			<table class="small-text">
			<tbody><tr>
				<td id="ctl00_RateArticle_SignIn" nowrap="nowrap">
					<a href="http://www.codeproject.com/Articles/146626/Extending-Visual-Studio-Setup-Project#SignUp">Sign Up</a> to vote
				</td>

				
				<td id="ctl00_RateArticle_StartForm" align="right" nowrap="nowrap">
					<i>&nbsp;&nbsp;Poor</i>
				</td>

				<td id="ctl00_RateArticle_VoteFormDiv" class="nowrap">
					

					<span id="ctl00_RateArticle_RB" class="tooltip ajaxHist radio voting">
						<span id="ctl00_RateArticle_VoteRBL"><input id="ctl00_RateArticle_VoteRBL_0" type="radio" name="ctl00$RateArticle$VoteRBL" value="1" onclick="ChkRtctl00_RateArticle(1, 146626);
$(&#39;#ctl00_RateArticle_RCD&#39;).show();
;"><input id="ctl00_RateArticle_VoteRBL_1" type="radio" name="ctl00$RateArticle$VoteRBL" value="2" onclick="ChkRtctl00_RateArticle(2, 146626);
$(&#39;#ctl00_RateArticle_RCD&#39;).show();
;"><input id="ctl00_RateArticle_VoteRBL_2" type="radio" name="ctl00$RateArticle$VoteRBL" value="3" onclick="ChkRtctl00_RateArticle(3, 146626);
$(&#39;#ctl00_RateArticle_RCD&#39;).show();
;"><input id="ctl00_RateArticle_VoteRBL_3" type="radio" name="ctl00$RateArticle$VoteRBL" value="4" onclick="ChkRtctl00_RateArticle(4, 146626);
$(&#39;#ctl00_RateArticle_RCD&#39;).show();
;"><input id="ctl00_RateArticle_VoteRBL_4" type="radio" name="ctl00$RateArticle$VoteRBL" value="5" onclick="ChkRtctl00_RateArticle(5, 146626);
$(&#39;#ctl00_RateArticle_RCD&#39;).show();
;"></span> 

						
					</span>

				</td>

				<td id="ctl00_RateArticle_EndForm" align="left">
					<i>Excellent</i>
				</td>

				<td>	
					<input type="submit" name="ctl00$RateArticle$SubmitRateBtn" value="Vote" onclick="return PostBack_ctl00_RateArticle_RateItemWrapper();" id="ctl00_RateArticle_SubmitRateBtn" class="button">
				</td>
			</tr>
			</tbody></table>
			<span id="ctl00_RateArticle_ErrorMessage" class="error"></span>
		</td>
	</tr>
	</tbody></table>
	<div class="hover-container">
		<div id="ctl00_RateArticle_RCD" class="rating-comment align-left float-right">
			Add a reason or comment to your vote: <a href="http://www.codeproject.com/Articles/146626/Extending-Visual-Studio-Setup-Project#" id="clear-rate_ctl00_RateArticle_RCD" title="close">x</a><br>
			<textarea class="RateComment" rows="5" cols="60" style="width:98%;"></textarea>
			<span id="ctl00_RateArticle_CommentReq" class="subdue">Votes of 3 or less require a comment</span>
		</div>
	</div>
</div>
						</div>
						</div>
						

					</form>

					
					<div style="margin:auto;padding:0px 10px;white-space:nowrap;overflow:hidden;width:468px;height:60px">		  
						<div class="lqm_ad" lqm_publisher="lqm.codeproject.site" lqm_zone="ros" lqm_format="468x60" lqm_loadonview="true" lqm_tags="C#, Windows, .NET, Visual-Studio, CEO, Architect, Dev, WPF, Design, Beginner, Sales, Marketing, WinForm,rating4.5"></div>
						
					</div>
					

					
					
					<h2>Comments and Discussions</h2>
					<a name="_comments" id="_comments">&nbsp;</a><div id="_MessageBoardctl00_MessageBoard" onclick="return SwitchMessage(event, null)">
	<table id="ForumTable" class="box forum" cellpadding="0" cellspacing="0">
		<tbody><tr>
			<td class="forum-header1 highlight"><b>You must <a href="http://www.codeproject.com/script/Membership/LogOn.aspx?rp=%2fArticles%2f146626%2fExtending-Visual-Studio-Setup-Project%2f%3ffid%3d1605366%26df%3d90%26mpp%3d10%26noise%3d3%26prof%3dTrue%26sort%3dPosition%26view%3dQuick">Sign In</a> to use this message board.</b> (<a href="https://www.codeproject.com/script/Membership/LogOn.aspx?rp=%2fArticles%2f146626%2fExtending-Visual-Studio-Setup-Project%2f%3ffid%3d1605366%26df%3d90%26mpp%3d10%26noise%3d3%26prof%3dTrue%26sort%3dPosition%26view%3dQuick">secure sign-in</a>)</td>
		</tr><tr>
			<td><table width="100%" border="0" cellpadding="3px" cellspacing="0">
				<tbody><tr class="forum-header1">
					<td colspan="2" style="white-space:nowrap;"><div class="container">
						&nbsp;<div class="float-right">
							<form action="http://www.codeproject.com/Search.aspx?fid=0" method="get" class="tight">
								<input type="hidden" name="fid" value="1605366"><b>Search this forum </b><input type="text" class="Frm_Input" name="qf" style="width:200px;">&nbsp;<input type="submit" value="Go" class="button">
							</form>
						</div>
					</div></td></tr><tr class="forum-header2">
						<td style="white-space:nowrap;">&nbsp;<a href="http://www.codeproject.com/KB/FAQs/MessageBoardsFAQ.aspx"><img src="./Extending Visual Studio Setup Project - CodeProject®_files/msg_question.gif" title="FAQ" alt="FAQ" style="border-width:0;width:16px;height:16px;vertical-align:middle;"></a></td><td style="width:100%;"><div style="text-align:right;">
							<form action="http://www.codeproject.com/script/Forums/SetOptions.aspx?floc=%2fArticles%2f146626%2fExtending-Visual-Studio-Setup-Project%2f&fid=1605366&df=90&mpp=10&noise=3&prof=True&sort=Position&view=Quick" method="get" style="margin:0;padding:0;">
								<input type="hidden" name="fid" value="1605366"><input type="hidden" name="currentQS" value="?floc=%2fArticles%2f146626%2fExtending-Visual-Studio-Setup-Project%2f&amp;fid=1605366&amp;df=90&amp;mpp=10&amp;noise=3&amp;prof=True&amp;sort=Position&amp;view=Quick"><input type="hidden" name="floc" value="/Articles/146626/Extending-Visual-Studio-Setup-Project/"><input type="checkbox" checked="checked" name="prof" id="prof" style="vertical-align:middle;"><label for="prof">Profile popups</label>&nbsp;&nbsp;&nbsp;&nbsp;Noise<select size="1" class="Frm_DropDown" name="noise">
									<option value="1">Very High</option><option value="2">High</option><option selected="" value="3">Medium</option><option value="4">Low</option><option value="5">Very Low</option>
								</select>&nbsp;&nbsp;Layout<select size="1" class="Frm_DropDown" name="view">
									<option selected="" value="Quick">Normal</option><option value="Topic">Expand Posts only</option><option value="Expanded">Expand Posts &amp; Replies</option><option value="Thread">Thread View</option><option value="Normal">No Javascript</option><option value="Preview">No JS + Preview</option>
								</select>&nbsp;&nbsp;Per page<select size="1" class="Frm_DropDown" name="mpp">
									<option selected="" value="10">10</option><option value="25">25</option><option value="50">50</option>
								</select>&nbsp;&nbsp;&nbsp;<input type="submit" value="Update" name="SetOpt" class="button">
							</form>
						</div></td>
					</tr>
				
			</tbody></table></td></tr><tr>
				<td><a name="xx0xx"></a><table border="0" cellpadding="2px" cellspacing="0" width="100%">
					<tbody><tr class="forum-navbar">
						<td>&nbsp;</td><td style="text-align:right;width:50%;"> <a href="http://www.codeproject.com/Articles/146626/Extending-Visual-Studio-Setup-Project/?fid=1605366&df=90&mpp=10&noise=3&prof=True&sort=Position&view=Quick">Refresh</a></td><td class="nav-link" style="text-align:right;white-space:nowrap;"><span class="subdue">First</span> <span class="subdue">Prev</span><a class="toolbar" name="Frm_HoverNL" href="http://www.codeproject.com/Articles/146626/Extending-Visual-Studio-Setup-Project/?fid=1605366&df=90&mpp=10&noise=3&prof=True&sort=Position&view=Quick&fr=11#xx0xx">Next</a></td>
					</tr>
				</tbody></table></td>
			</tr><tr>
				<td><table border="0" cellpadding="0" cellspacing="0" width="100%" class="fixed-layout blank-background">
					<tbody><tr>
						<td><img src="./Extending Visual Studio Setup Project - CodeProject®_files/t(2).gif" border="0" width="1px" height="5px" alt=""></td>
					</tr><tr class="MsgHd Rt HdUnSel " id="F4185214_h0">
						<td width="100%"><table class="quickHd" border="0" cellpadding="0" cellspacing="0" width="100%">
							<tbody><tr class="hover-row">
								<td width="16px" class="Frm_MsgIndent"><a name="xx4185214xx"></a><img height="16px" width="16px" align="top" src="./Extending Visual Studio Setup Project - CodeProject®_files/msg_general.gif" alt="General"></td><td class="Frm_MsgSubject hover-container"><a class="message-link" name="4185214" parent="0" thread="4185214" href="http://www.codeproject.com/Messages/4185214/My-vote-of-5.aspx">My vote of 5</a> <a onclick="return Pin(this);" href="http://www.codeproject.com/Articles/146626/Extending-Visual-Studio-Setup-Project#" title="Click to pin message"><img src="./Extending Visual Studio Setup Project - CodeProject®_files/pin.gif" border="0" align="top" alt="Pin" width="13px" height="12px"></a></td><td class="Frm_MsgIcon"><img border="0" src="./Extending Visual Studio Setup Project - CodeProject®_files/member_sm.gif" title="member" alt="member" height="16px"></td><td class="Frm_MsgAuthor"><a href="http://www.codeproject.com/script/Membership/View.aspx?mid=5042229">shanmuga priya</a></td><td class="Frm_MsgDate" style="vertical-align:top;white-space:nowrap;">20:21 8 Mar '12 &nbsp;</td>
							</tr>
						</tbody></table></td>
					</tr><tr id="F4185214_h1" style="display:none;">
						<td width="100%"><table class="quickBd" border="0" cellpadding="0" cellspacing="0" width="100%">
							<tbody><tr>
								<td class="Frm_MsgIndent" style="width:16px;"><img src="./Extending Visual Studio Setup Project - CodeProject®_files/t(2).gif" height="1px" width="16px" alt=""></td><td class="MsgBd BdSel "><table border="0" cellpadding="0" cellspacing="5px" width="100%">
									<tbody><tr>
										<td><table border="0" cellpadding="0" cellspacing="0" width="100%">
											<tbody><tr>
												<td colspan="2">Very much helpful<br></td>
											</tr><tr style="vertical-align:middle;">
												<td class="msg-footer"><a class="toolbar" href="http://www.codeproject.com/script/Membership/LogOn.aspx?rp=%2fArticles%2f146626%2fExtending-Visual-Studio-Setup-Project">Sign In</a>·<a class="toolbar" href="http://www.codeproject.com/Articles/146626/Extending-Visual-Studio-Setup-Project/?fid=1605366&df=90&mpp=10&sort=Position&tid=4185214" title="View Thread">View&nbsp;Thread</a>·<a class="toolbar" href="http://www.codeproject.com/Messages/4185214/My-vote-of-5.aspx" title="Get permanent link">Permalink</a></td><td class="msg-footer" style="text-align:right;"><span id="MVF4185214" style="white-space:nowrap;"></span></td>
											</tr>
										</tbody></table></td>
									</tr>
								</tbody></table></td>
							</tr>
						</tbody></table></td>
					</tr><tr class="quick">
						<td class="root msg-divide"><img src="./Extending Visual Studio Setup Project - CodeProject®_files/t(2).gif" border="0" width="1px" height="1px" alt=""></td>
					</tr><tr class="MsgHd Rt HdUnSel " id="F4169829_h0">
						<td width="100%"><table class="quickHd" border="0" cellpadding="0" cellspacing="0" width="100%">
							<tbody><tr class="hover-row">
								<td width="16px" class="Frm_MsgIndent"><a name="xx4169829xx"></a><img height="16px" width="16px" align="top" src="./Extending Visual Studio Setup Project - CodeProject®_files/msg_question(1).gif" alt="Question"></td><td class="Frm_MsgSubject hover-container"><a class="message-link" name="4169829" parent="0" thread="4169829" href="http://www.codeproject.com/Messages/4169829/A-vote-of-5-and-a-hopefully-helpful-link.aspx">A vote of 5 and a (hopefully) helpful link</a> <a onclick="return Pin(this);" href="http://www.codeproject.com/Articles/146626/Extending-Visual-Studio-Setup-Project#" title="Click to pin message"><img src="./Extending Visual Studio Setup Project - CodeProject®_files/pin.gif" border="0" align="top" alt="Pin" width="13px" height="12px"></a></td><td class="Frm_MsgIcon"><img border="0" src="./Extending Visual Studio Setup Project - CodeProject®_files/member_sm.gif" title="member" alt="member" height="16px"></td><td class="Frm_MsgAuthor"><a href="http://www.codeproject.com/script/Membership/View.aspx?mid=122954">Don Kackman</a></td><td class="Frm_MsgDate" style="vertical-align:top;white-space:nowrap;">11:30 28 Feb '12 &nbsp;</td>
							</tr>
						</tbody></table></td>
					</tr><tr id="F4169829_h1" style="display:none;">
						<td width="100%"><table class="quickBd" border="0" cellpadding="0" cellspacing="0" width="100%">
							<tbody><tr>
								<td class="Frm_MsgIndent" style="width:16px;"><img src="./Extending Visual Studio Setup Project - CodeProject®_files/t(2).gif" height="1px" width="16px" alt=""></td><td class="MsgBd BdSel "><table border="0" cellpadding="0" cellspacing="5px" width="100%">
									<tbody><tr>
										<td><table border="0" cellpadding="0" cellspacing="0" width="100%">
											<tbody><tr>
												<td colspan="2">Good article. I've found that VS.NET deployment projects meet the needs of a good percentage of my application installers.<br>
&nbsp;<br>
One thing they don't do well is integrate into an automated build process with dynamic versioning and id generation etc.<br>
&nbsp;<br>
I've written a utility that can modify the .vdproj file prior to building the installer so that the build process can set the version info and set product and upgrade identifiers.<br>
&nbsp;<br>
I've found this very helpful for using these projects for deployment.<br>
&nbsp;<br>
Original source code and article<br>
<a href="http://www.codeproject.com/Articles/5760/VS-NET-Deployment-Project-Version-Updater">VS.NET Deployment Project Version Updater</a>[<a href="http://www.codeproject.com/Articles/5760/VS-NET-Deployment-Project-Version-Updater" target="_blank" title="New Window">^</a>]<br>
&nbsp;<br>
Latest source<br>
<a href="http://vdprojectupdater.codeplex.com/">http://vdprojectupdater.codeplex.com/</a>[<a href="http://vdprojectupdater.codeplex.com/" target="_blank" title="New Window">^</a>]<br>
<div class="signature">10 PRINT "Software is hard. - D. Knuth"<br>
20 GOTO 10</div><br></td>
											</tr><tr style="vertical-align:middle;">
												<td class="msg-footer"><a class="toolbar" href="http://www.codeproject.com/script/Membership/LogOn.aspx?rp=%2fArticles%2f146626%2fExtending-Visual-Studio-Setup-Project">Sign In</a>·<a class="toolbar" href="http://www.codeproject.com/Articles/146626/Extending-Visual-Studio-Setup-Project/?fid=1605366&df=90&mpp=10&sort=Position&tid=4169829" title="View Thread">View&nbsp;Thread</a>·<a class="toolbar" href="http://www.codeproject.com/Messages/4169829/A-vote-of-5-and-a-hopefully-helpful-link.aspx" title="Get permanent link">Permalink</a></td><td class="msg-footer" style="text-align:right;"><span id="MVF4169829" style="white-space:nowrap;"></span></td>
											</tr>
										</tbody></table></td>
									</tr>
								</tbody></table></td>
							</tr>
						</tbody></table></td>
					</tr><tr class="quick">
						<td class="root msg-divide"><img src="./Extending Visual Studio Setup Project - CodeProject®_files/t(2).gif" border="0" width="1px" height="1px" alt=""></td>
					</tr><tr class="MsgHd HiVote Rt HdUnSel " id="F4153632_h0">
						<td width="100%"><table class="quickHd" border="0" cellpadding="0" cellspacing="0" width="100%">
							<tbody><tr class="hover-row">
								<td width="16px" class="Frm_MsgIndent"><a name="xx4153632xx"></a><img height="16px" width="16px" align="top" src="./Extending Visual Studio Setup Project - CodeProject®_files/msg_general.gif" alt="General"></td><td class="Frm_MsgSubject hover-container"><a class="message-link" name="4153632" parent="0" thread="4153632" href="http://www.codeproject.com/Messages/4153632/My-vote-of-5.aspx">My vote of 5</a> <a onclick="return Pin(this);" href="http://www.codeproject.com/Articles/146626/Extending-Visual-Studio-Setup-Project#" title="Click to pin message"><img src="./Extending Visual Studio Setup Project - CodeProject®_files/pin.gif" border="0" align="top" alt="Pin" width="13px" height="12px"></a></td><td class="Frm_MsgIcon"><img border="0" src="./Extending Visual Studio Setup Project - CodeProject®_files/member_sm.gif" title="member" alt="member" height="16px"></td><td class="Frm_MsgAuthor"><a href="http://www.codeproject.com/script/Membership/View.aspx?mid=8592071">purvapatel</a></td><td class="Frm_MsgDate" style="vertical-align:top;white-space:nowrap;">3:06 10 Feb '12 &nbsp;</td>
							</tr>
						</tbody></table></td>
					</tr><tr id="F4153632_h1" style="display:none;">
						<td width="100%"><table class="quickBd" border="0" cellpadding="0" cellspacing="0" width="100%">
							<tbody><tr>
								<td class="Frm_MsgIndent" style="width:16px;"><img src="./Extending Visual Studio Setup Project - CodeProject®_files/t(2).gif" height="1px" width="16px" alt=""></td><td class="MsgBd BdSel "><table border="0" cellpadding="0" cellspacing="5px" width="100%">
									<tbody><tr>
										<td><table border="0" cellpadding="0" cellspacing="0" width="100%">
											<tbody><tr>
												<td colspan="2">thank very much. thank u dude<br></td>
											</tr><tr style="vertical-align:middle;">
												<td class="msg-footer"><a class="toolbar" href="http://www.codeproject.com/script/Membership/LogOn.aspx?rp=%2fArticles%2f146626%2fExtending-Visual-Studio-Setup-Project">Sign In</a>·<a class="toolbar" href="http://www.codeproject.com/Articles/146626/Extending-Visual-Studio-Setup-Project/?fid=1605366&df=90&mpp=10&sort=Position&tid=4153632" title="View Thread">View&nbsp;Thread</a>·<a class="toolbar" href="http://www.codeproject.com/Messages/4153632/My-vote-of-5.aspx" title="Get permanent link">Permalink</a></td><td class="msg-footer" style="text-align:right;"><span id="MVF4153632" style="white-space:nowrap;">5.00/5 (1 vote) </span></td>
											</tr>
										</tbody></table></td>
									</tr>
								</tbody></table></td>
							</tr>
						</tbody></table></td>
					</tr><tr class="quick">
						<td class="msg-divide"><img src="./Extending Visual Studio Setup Project - CodeProject®_files/t(2).gif" border="0" width="1px" height="1px" alt=""></td>
					</tr><tr class="MsgHd HdUnSel " id="F4170627_h0">
						<td width="100%"><table class="quickHd" border="0" cellpadding="0" cellspacing="0" width="100%">
							<tbody><tr class="hover-row">
								<td width="34px" class="Frm_MsgIndent"><a name="xx4170627xx"></a><img height="16px" width="16px" align="top" src="./Extending Visual Studio Setup Project - CodeProject®_files/msg_general.gif" alt="General"></td><td class="Frm_MsgSubject hover-container"><a class="message-link" name="4170627" parent="4153632" thread="4153632" href="http://www.codeproject.com/Messages/4170627/Re-My-vote-of-5.aspx">Re: My vote of 5</a> <a onclick="return Pin(this);" href="http://www.codeproject.com/Articles/146626/Extending-Visual-Studio-Setup-Project#" title="Click to pin message"><img src="./Extending Visual Studio Setup Project - CodeProject®_files/pin.gif" border="0" align="top" alt="Pin" width="13px" height="12px"></a></td><td class="Frm_MsgIcon"><img border="0" src="./Extending Visual Studio Setup Project - CodeProject®_files/mvp_sm.gif" title="mvp" alt="mvp" height="16px"></td><td class="Frm_MsgAuthor"><a href="http://www.codeproject.com/script/Membership/View.aspx?mid=7121713">Shai Raiten</a></td><td class="Frm_MsgDate" style="vertical-align:top;white-space:nowrap;">4:20 29 Feb '12 &nbsp;</td>
							</tr>
						</tbody></table></td>
					</tr><tr id="F4170627_h1" style="display:none;">
						<td width="100%"><table class="quickBd" border="0" cellpadding="0" cellspacing="0" width="100%">
							<tbody><tr>
								<td class="Frm_MsgIndent" style="width:34px;"><img src="./Extending Visual Studio Setup Project - CodeProject®_files/t(2).gif" height="1px" width="34px" alt=""></td><td class="MsgBd BdSel "><table border="0" cellpadding="0" cellspacing="5px" width="100%">
									<tbody><tr>
										<td><table border="0" cellpadding="0" cellspacing="0" width="100%">
											<tbody><tr>
												<td colspan="2">Thanks<br>
<div class="signature"><b>Shai Raiten</b><br>
<ul>
<li>Visual Studio ALM MVP 2009-2011</li>
<li>Codeproject MVP 2012</li>
<li><a href="http://blogs.microsoft.co.il/blogs/shair">My Blog</a></li>
</ul>
</div><br></td>
											</tr><tr style="vertical-align:middle;">
												<td class="msg-footer"><a class="toolbar" href="http://www.codeproject.com/script/Membership/LogOn.aspx?rp=%2fArticles%2f146626%2fExtending-Visual-Studio-Setup-Project">Sign In</a>·<a class="toolbar" href="http://www.codeproject.com/Articles/146626/Extending-Visual-Studio-Setup-Project/?fid=1605366&df=90&mpp=10&sort=Position&tid=4153632" title="View Thread">View&nbsp;Thread</a>·<a class="toolbar" href="http://www.codeproject.com/Messages/4170627/Re-My-vote-of-5.aspx" title="Get permanent link">Permalink</a></td><td class="msg-footer" style="text-align:right;"><span id="MVF4170627" style="white-space:nowrap;"></span></td>
											</tr>
										</tbody></table></td>
									</tr>
								</tbody></table></td>
							</tr>
						</tbody></table></td>
					</tr><tr class="quick">
						<td class="root msg-divide"><img src="./Extending Visual Studio Setup Project - CodeProject®_files/t(2).gif" border="0" width="1px" height="1px" alt=""></td>
					</tr><tr class="MsgHd Rt HdUnSel " id="F4087870_h0">
						<td width="100%"><table class="quickHd" border="0" cellpadding="0" cellspacing="0" width="100%">
							<tbody><tr class="hover-row">
								<td width="16px" class="Frm_MsgIndent"><a name="xx4087870xx"></a><img height="16px" width="16px" align="top" src="./Extending Visual Studio Setup Project - CodeProject®_files/msg_question(1).gif" alt="Question"></td><td class="Frm_MsgSubject hover-container"><a class="message-link" name="4087870" parent="0" thread="4087870" href="http://www.codeproject.com/Messages/4087870/How-to-change-startup-info-for-the-setup-project.aspx">How to change startup info for the setup project</a> <a onclick="return Pin(this);" href="http://www.codeproject.com/Articles/146626/Extending-Visual-Studio-Setup-Project#" title="Click to pin message"><img src="./Extending Visual Studio Setup Project - CodeProject®_files/pin.gif" border="0" align="top" alt="Pin" width="13px" height="12px"></a></td><td class="Frm_MsgIcon"><img border="0" src="./Extending Visual Studio Setup Project - CodeProject®_files/member_sm.gif" title="member" alt="member" height="16px"></td><td class="Frm_MsgAuthor"><a href="http://www.codeproject.com/script/Membership/View.aspx?mid=8202158">Member 8202158</a></td><td class="Frm_MsgDate" style="vertical-align:top;white-space:nowrap;">2:57 25 Nov '11 &nbsp;</td>
							</tr>
						</tbody></table></td>
					</tr><tr id="F4087870_h1" style="display:none;">
						<td width="100%"><table class="quickBd" border="0" cellpadding="0" cellspacing="0" width="100%">
							<tbody><tr>
								<td class="Frm_MsgIndent" style="width:16px;"><img src="./Extending Visual Studio Setup Project - CodeProject®_files/t(2).gif" height="1px" width="16px" alt=""></td><td class="MsgBd BdSel "><table border="0" cellpadding="0" cellspacing="5px" width="100%">
									<tbody><tr>
										<td><table border="0" cellpadding="0" cellspacing="0" width="100%">
											<tbody><tr>
												<td colspan="2">Hi,<br>
&nbsp;<br>
I have a typical situation. I have a project that is using the mixed mode dll. I have set the option <br>
useLegacyV2RuntimeActivationPolicy="true" in the startup tag in the App.config file. Now I have a set up project which is using primary output from my dll having useLegacyV2RuntimeActivationPolicy = "true" . When I install the setup, I am getting the error <br>
Mixed mode assembly is built against version 'v2.0.50727' of the runtime and cannot be loaded in the 4.0 runtime without additional configuration information.<br>
&nbsp;<br>
Is there a way to change the configuration or adding a configuration to the set up file so that I can fix this error in my setup.<br>
&nbsp;<br>
Any help greatly appreciated.<br>
&nbsp;<br>
Thanks in advance<br>
Rushi<br></td>
											</tr><tr style="vertical-align:middle;">
												<td class="msg-footer"><a class="toolbar" href="http://www.codeproject.com/script/Membership/LogOn.aspx?rp=%2fArticles%2f146626%2fExtending-Visual-Studio-Setup-Project">Sign In</a>·<a class="toolbar" href="http://www.codeproject.com/Articles/146626/Extending-Visual-Studio-Setup-Project/?fid=1605366&df=90&mpp=10&sort=Position&tid=4087870" title="View Thread">View&nbsp;Thread</a>·<a class="toolbar" href="http://www.codeproject.com/Messages/4087870/How-to-change-startup-info-for-the-setup-project.aspx" title="Get permanent link">Permalink</a></td><td class="msg-footer" style="text-align:right;"><span id="MVF4087870" style="white-space:nowrap;"></span></td>
											</tr>
										</tbody></table></td>
									</tr>
								</tbody></table></td>
							</tr>
						</tbody></table></td>
					</tr><tr class="quick">
						<td class="root msg-divide"><img src="./Extending Visual Studio Setup Project - CodeProject®_files/t(2).gif" border="0" width="1px" height="1px" alt=""></td>
					</tr><tr class="MsgHd Rt HdUnSel " id="F4007910_h0">
						<td width="100%"><table class="quickHd" border="0" cellpadding="0" cellspacing="0" width="100%">
							<tbody><tr class="hover-row">
								<td width="16px" class="Frm_MsgIndent"><a name="xx4007910xx"></a><img height="16px" width="16px" align="top" src="./Extending Visual Studio Setup Project - CodeProject®_files/msg_question(1).gif" alt="Question"></td><td class="Frm_MsgSubject hover-container"><a class="message-link" name="4007910" parent="0" thread="4007910" href="http://www.codeproject.com/Messages/4007910/How-could-i-make-opened-window-as-Modal.aspx">How could i make opened window as Modal?</a> <a onclick="return Pin(this);" href="http://www.codeproject.com/Articles/146626/Extending-Visual-Studio-Setup-Project#" title="Click to pin message"><img src="./Extending Visual Studio Setup Project - CodeProject®_files/pin.gif" border="0" align="top" alt="Pin" width="13px" height="12px"></a></td><td class="Frm_MsgIcon"><img border="0" src="./Extending Visual Studio Setup Project - CodeProject®_files/member_sm.gif" title="member" alt="member" height="16px"></td><td class="Frm_MsgAuthor"><a href="http://www.codeproject.com/script/Membership/View.aspx?mid=5038017">Sunasara Imdadhusen</a></td><td class="Frm_MsgDate" style="vertical-align:top;white-space:nowrap;">22:55 28 Aug '11 &nbsp;</td>
							</tr>
						</tbody></table></td>
					</tr><tr id="F4007910_h1" style="display:none;">
						<td width="100%"><table class="quickBd" border="0" cellpadding="0" cellspacing="0" width="100%">
							<tbody><tr>
								<td class="Frm_MsgIndent" style="width:16px;"><img src="./Extending Visual Studio Setup Project - CodeProject®_files/t(2).gif" height="1px" width="16px" alt=""></td><td class="MsgBd BdSel "><table border="0" cellpadding="0" cellspacing="5px" width="100%">
									<tbody><tr>
										<td><table border="0" cellpadding="0" cellspacing="0" width="100%">
											<tbody><tr>
												<td colspan="2">Hi<br>
Shai,<br>
&nbsp;<br>
Thanks for sharing article with us.<b> Can help me to make opened window (custom form) as Modal?</b><br>
&nbsp;<br>
<br>
My vote of 5<img src="./Extending Visual Studio Setup Project - CodeProject®_files/thumbs_up.gif" align="top" alt="Thumbs Up | :thumbsup:"> <br>
&nbsp;<br>
Waiting for your valuable comment<img src="./Extending Visual Studio Setup Project - CodeProject®_files/rose.gif" align="top" alt="Rose | [Rose]"> <br>
Thanks,<br>
Imdadhusen<br>
<div class="signature"><font style="font-family:calibri"><br>
suna<font style="color:red">Sa</font><font style="color:green">Ra</font> <font style="color:blue">Im</font>dadhusen<br>
+91 99095 44184</font></div><br></td>
											</tr><tr style="vertical-align:middle;">
												<td class="msg-footer"><a class="toolbar" href="http://www.codeproject.com/script/Membership/LogOn.aspx?rp=%2fArticles%2f146626%2fExtending-Visual-Studio-Setup-Project">Sign In</a>·<a class="toolbar" href="http://www.codeproject.com/Articles/146626/Extending-Visual-Studio-Setup-Project/?fid=1605366&df=90&mpp=10&sort=Position&tid=4007910" title="View Thread">View&nbsp;Thread</a>·<a class="toolbar" href="http://www.codeproject.com/Messages/4007910/How-could-i-make-opened-window-as-Modal.aspx" title="Get permanent link">Permalink</a></td><td class="msg-footer" style="text-align:right;"><span id="MVF4007910" style="white-space:nowrap;"></span></td>
											</tr>
										</tbody></table></td>
									</tr>
								</tbody></table></td>
							</tr>
						</tbody></table></td>
					</tr><tr class="quick">
						<td class="root msg-divide"><img src="./Extending Visual Studio Setup Project - CodeProject®_files/t(2).gif" border="0" width="1px" height="1px" alt=""></td>
					</tr><tr class="MsgHd HiVote Rt HdUnSel " id="F3930933_h0">
						<td width="100%"><table class="quickHd" border="0" cellpadding="0" cellspacing="0" width="100%">
							<tbody><tr class="hover-row">
								<td width="16px" class="Frm_MsgIndent"><a name="xx3930933xx"></a><img height="16px" width="16px" align="top" src="./Extending Visual Studio Setup Project - CodeProject®_files/msg_general.gif" alt="General"></td><td class="Frm_MsgSubject hover-container"><a class="message-link" name="3930933" parent="0" thread="3930933" href="http://www.codeproject.com/Messages/3930933/My-vote-of-5.aspx">My vote of 5</a> <a onclick="return Pin(this);" href="http://www.codeproject.com/Articles/146626/Extending-Visual-Studio-Setup-Project#" title="Click to pin message"><img src="./Extending Visual Studio Setup Project - CodeProject®_files/pin.gif" border="0" align="top" alt="Pin" width="13px" height="12px"></a></td><td class="Frm_MsgIcon"><img border="0" src="./Extending Visual Studio Setup Project - CodeProject®_files/member_sm.gif" title="member" alt="member" height="16px"></td><td class="Frm_MsgAuthor"><a href="http://www.codeproject.com/script/Membership/View.aspx?mid=4764307">jawed.ace</a></td><td class="Frm_MsgDate" style="vertical-align:top;white-space:nowrap;">22:51 19 Jun '11 &nbsp;</td>
							</tr>
						</tbody></table></td>
					</tr><tr id="F3930933_h1" style="display:none;">
						<td width="100%"><table class="quickBd" border="0" cellpadding="0" cellspacing="0" width="100%">
							<tbody><tr>
								<td class="Frm_MsgIndent" style="width:16px;"><img src="./Extending Visual Studio Setup Project - CodeProject®_files/t(2).gif" height="1px" width="16px" alt=""></td><td class="MsgBd BdSel "><table border="0" cellpadding="0" cellspacing="5px" width="100%">
									<tbody><tr>
										<td><table border="0" cellpadding="0" cellspacing="0" width="100%">
											<tbody><tr>
												<td colspan="2">Hi Shai,<br>
Thank you very much for this article.<br>
it helps me a lot to make my *.msi more powerfull and user interface.<br>
thanks a lot!!<br>
~jawed<br></td>
											</tr><tr style="vertical-align:middle;">
												<td class="msg-footer"><a class="toolbar" href="http://www.codeproject.com/script/Membership/LogOn.aspx?rp=%2fArticles%2f146626%2fExtending-Visual-Studio-Setup-Project">Sign In</a>·<a class="toolbar" href="http://www.codeproject.com/Articles/146626/Extending-Visual-Studio-Setup-Project/?fid=1605366&df=90&mpp=10&sort=Position&tid=3930933" title="View Thread">View&nbsp;Thread</a>·<a class="toolbar" href="http://www.codeproject.com/Messages/3930933/My-vote-of-5.aspx" title="Get permanent link">Permalink</a></td><td class="msg-footer" style="text-align:right;"><span id="MVF3930933" style="white-space:nowrap;">5.00/5 (1 vote) </span></td>
											</tr>
										</tbody></table></td>
									</tr>
								</tbody></table></td>
							</tr>
						</tbody></table></td>
					</tr><tr class="quick">
						<td class="msg-divide"><img src="./Extending Visual Studio Setup Project - CodeProject®_files/t(2).gif" border="0" width="1px" height="1px" alt=""></td>
					</tr><tr class="MsgHd HdUnSel " id="F3931643_h0">
						<td width="100%"><table class="quickHd" border="0" cellpadding="0" cellspacing="0" width="100%">
							<tbody><tr class="hover-row">
								<td width="34px" class="Frm_MsgIndent"><a name="xx3931643xx"></a><img height="16px" width="16px" align="top" src="./Extending Visual Studio Setup Project - CodeProject®_files/msg_general.gif" alt="General"></td><td class="Frm_MsgSubject hover-container"><a class="message-link" name="3931643" parent="3930933" thread="3930933" href="http://www.codeproject.com/Messages/3931643/Re-My-vote-of-5.aspx">Re: My vote of 5</a> <a onclick="return Pin(this);" href="http://www.codeproject.com/Articles/146626/Extending-Visual-Studio-Setup-Project#" title="Click to pin message"><img src="./Extending Visual Studio Setup Project - CodeProject®_files/pin.gif" border="0" align="top" alt="Pin" width="13px" height="12px"></a></td><td class="Frm_MsgIcon"><img border="0" src="./Extending Visual Studio Setup Project - CodeProject®_files/member_sm.gif" title="member" alt="member" height="16px"></td><td class="Frm_MsgAuthor"><a href="http://www.codeproject.com/script/Membership/View.aspx?mid=7121713">Shai Raiten</a></td><td class="Frm_MsgDate" style="vertical-align:top;white-space:nowrap;">6:36 20 Jun '11 &nbsp;</td>
							</tr>
						</tbody></table></td>
					</tr><tr id="F3931643_h1" style="display:none;">
						<td width="100%"><table class="quickBd" border="0" cellpadding="0" cellspacing="0" width="100%">
							<tbody><tr>
								<td class="Frm_MsgIndent" style="width:34px;"><img src="./Extending Visual Studio Setup Project - CodeProject®_files/t(2).gif" height="1px" width="34px" alt=""></td><td class="MsgBd BdSel "><table border="0" cellpadding="0" cellspacing="5px" width="100%">
									<tbody><tr>
										<td><table border="0" cellpadding="0" cellspacing="0" width="100%">
											<tbody><tr>
												<td colspan="2">I'm glad I can help! Enjoy<br></td>
											</tr><tr style="vertical-align:middle;">
												<td class="msg-footer"><a class="toolbar" href="http://www.codeproject.com/script/Membership/LogOn.aspx?rp=%2fArticles%2f146626%2fExtending-Visual-Studio-Setup-Project">Sign In</a>·<a class="toolbar" href="http://www.codeproject.com/Articles/146626/Extending-Visual-Studio-Setup-Project/?fid=1605366&df=90&mpp=10&sort=Position&tid=3930933" title="View Thread">View&nbsp;Thread</a>·<a class="toolbar" href="http://www.codeproject.com/Messages/3931643/Re-My-vote-of-5.aspx" title="Get permanent link">Permalink</a></td><td class="msg-footer" style="text-align:right;"><span id="MVF3931643" style="white-space:nowrap;"></span></td>
											</tr>
										</tbody></table></td>
									</tr>
								</tbody></table></td>
							</tr>
						</tbody></table></td>
					</tr><tr class="quick">
						<td class="msg-divide"><img src="./Extending Visual Studio Setup Project - CodeProject®_files/t(2).gif" border="0" width="1px" height="1px" alt=""></td>
					</tr><tr class="MsgHd HiVote HdUnSel " id="F3942533_h0">
						<td width="100%"><table class="quickHd" border="0" cellpadding="0" cellspacing="0" width="100%">
							<tbody><tr class="hover-row">
								<td width="52px" class="Frm_MsgIndent"><a name="xx3942533xx"></a><img height="16px" width="16px" align="top" src="./Extending Visual Studio Setup Project - CodeProject®_files/msg_question(1).gif" alt="Question"></td><td class="Frm_MsgSubject hover-container"><a class="message-link" name="3942533" parent="3931643" thread="3930933" href="http://www.codeproject.com/Messages/3942533/Re-My-vote-of-5.aspx">Re: My vote of 5</a> <a onclick="return Pin(this);" href="http://www.codeproject.com/Articles/146626/Extending-Visual-Studio-Setup-Project#" title="Click to pin message"><img src="./Extending Visual Studio Setup Project - CodeProject®_files/pin.gif" border="0" align="top" alt="Pin" width="13px" height="12px"></a></td><td class="Frm_MsgIcon"><img border="0" src="./Extending Visual Studio Setup Project - CodeProject®_files/member_sm.gif" title="member" alt="member" height="16px"></td><td class="Frm_MsgAuthor"><a href="http://www.codeproject.com/script/Membership/View.aspx?mid=1090784">Johnny79</a></td><td class="Frm_MsgDate" style="vertical-align:top;white-space:nowrap;">9:32 29 Jun '11 &nbsp;</td>
							</tr>
						</tbody></table></td>
					</tr><tr id="F3942533_h1" style="display:none;">
						<td width="100%"><table class="quickBd" border="0" cellpadding="0" cellspacing="0" width="100%">
							<tbody><tr>
								<td class="Frm_MsgIndent" style="width:52px;"><img src="./Extending Visual Studio Setup Project - CodeProject®_files/t(2).gif" height="1px" width="52px" alt=""></td><td class="MsgBd BdSel "><table border="0" cellpadding="0" cellspacing="5px" width="100%">
									<tbody><tr>
										<td><table border="0" cellpadding="0" cellspacing="0" width="100%">
											<tbody><tr>
												<td colspan="2">Thanks for a nice simple article. <br>
&nbsp;<br>
I have a question for you. How do I retrieve a registry key from the setup project to be use for conditions? Do you have some examples that do work because I have searched and tried Microsoft's and others but they do not work.<br></td>
											</tr><tr style="vertical-align:middle;">
												<td class="msg-footer"><a class="toolbar" href="http://www.codeproject.com/script/Membership/LogOn.aspx?rp=%2fArticles%2f146626%2fExtending-Visual-Studio-Setup-Project">Sign In</a>·<a class="toolbar" href="http://www.codeproject.com/Articles/146626/Extending-Visual-Studio-Setup-Project/?fid=1605366&df=90&mpp=10&sort=Position&tid=3930933" title="View Thread">View&nbsp;Thread</a>·<a class="toolbar" href="http://www.codeproject.com/Messages/3942533/Re-My-vote-of-5.aspx" title="Get permanent link">Permalink</a></td><td class="msg-footer" style="text-align:right;"><span id="MVF3942533" style="white-space:nowrap;">5.00/5 (1 vote) </span></td>
											</tr>
										</tbody></table></td>
									</tr>
								</tbody></table></td>
							</tr>
						</tbody></table></td>
					</tr><tr class="quick">
						<td class="msg-divide"><img src="./Extending Visual Studio Setup Project - CodeProject®_files/t(2).gif" border="0" width="1px" height="1px" alt=""></td>
					</tr><tr class="MsgHd HdUnSel " id="F3944354_h0">
						<td width="100%"><table class="quickHd" border="0" cellpadding="0" cellspacing="0" width="100%">
							<tbody><tr class="hover-row">
								<td width="70px" class="Frm_MsgIndent"><a name="xx3944354xx"></a><img height="16px" width="16px" align="top" src="./Extending Visual Studio Setup Project - CodeProject®_files/msg_answer.gif" alt="Answer"></td><td class="Frm_MsgSubject hover-container"><a class="message-link" name="3944354" parent="3942533" thread="3930933" href="http://www.codeproject.com/Messages/3944354/Re-My-vote-of-5.aspx">Re: My vote of 5</a> <a onclick="return Pin(this);" href="http://www.codeproject.com/Articles/146626/Extending-Visual-Studio-Setup-Project#" title="Click to pin message"><img src="./Extending Visual Studio Setup Project - CodeProject®_files/pin.gif" border="0" align="top" alt="Pin" width="13px" height="12px"></a></td><td class="Frm_MsgIcon"><img border="0" src="./Extending Visual Studio Setup Project - CodeProject®_files/member_sm.gif" title="member" alt="member" height="16px"></td><td class="Frm_MsgAuthor"><a href="http://www.codeproject.com/script/Membership/View.aspx?mid=7121713">Shai Raiten</a></td><td class="Frm_MsgDate" style="vertical-align:top;white-space:nowrap;">22:23 30 Jun '11 &nbsp;</td>
							</tr>
						</tbody></table></td>
					</tr><tr id="F3944354_h1" style="display:none;">
						<td width="100%"><table class="quickBd" border="0" cellpadding="0" cellspacing="0" width="100%">
							<tbody><tr>
								<td class="Frm_MsgIndent" style="width:70px;"><img src="./Extending Visual Studio Setup Project - CodeProject®_files/t(2).gif" height="1px" width="70px" alt=""></td><td class="MsgBd BdSel "><table border="0" cellpadding="0" cellspacing="5px" width="100%">
									<tbody><tr>
										<td><table border="0" cellpadding="0" cellspacing="0" width="100%">
											<tbody><tr>
												<td colspan="2">Can you send me an example, I did a little test just now and If you write the full path it should work.<br></td>
											</tr><tr style="vertical-align:middle;">
												<td class="msg-footer"><a class="toolbar" href="http://www.codeproject.com/script/Membership/LogOn.aspx?rp=%2fArticles%2f146626%2fExtending-Visual-Studio-Setup-Project">Sign In</a>·<a class="toolbar" href="http://www.codeproject.com/Articles/146626/Extending-Visual-Studio-Setup-Project/?fid=1605366&df=90&mpp=10&sort=Position&tid=3930933" title="View Thread">View&nbsp;Thread</a>·<a class="toolbar" href="http://www.codeproject.com/Messages/3944354/Re-My-vote-of-5.aspx" title="Get permanent link">Permalink</a></td><td class="msg-footer" style="text-align:right;"><span id="MVF3944354" style="white-space:nowrap;"></span></td>
											</tr>
										</tbody></table></td>
									</tr>
								</tbody></table></td>
							</tr>
						</tbody></table></td>
					</tr><tr>
						<td><img src="./Extending Visual Studio Setup Project - CodeProject®_files/t(2).gif" border="0" width="1px" height="5px" alt=""></td>
					</tr>
				</tbody></table></td>
			</tr><tr>
				<td><table width="100%" cellpadding="2px" cellspacing="0">
					<tbody><tr class="forum-footer">
						<td>Last Visit: 19:00 31 Dec '99  &nbsp; &nbsp; Last Update: 12:25 17 Mar '12 </td><td class="nav-link" style="text-align:right;white-space:nowrap;"><input id="_mbnUrl" type="hidden" value="/Articles/146626/Extending-Visual-Studio-Setup-Project/?fid=1605366&amp;df=90&amp;mpp=10&amp;noise=3&amp;prof=True&amp;sort=Position&amp;view=Quick&amp;fr=11"><b>1</b><a class="toolbar" name="Frm_HoverNL" href="http://www.codeproject.com/Articles/146626/Extending-Visual-Studio-Setup-Project/?fid=1605366&df=90&mpp=10&noise=3&prof=True&sort=Position&view=Quick&fr=11#xx0xx">2</a><a class="toolbar" name="Frm_HoverNL" href="http://www.codeproject.com/Articles/146626/Extending-Visual-Studio-Setup-Project/?fid=1605366&df=90&mpp=10&noise=3&prof=True&sort=Position&view=Quick&fr=21#xx0xx">3</a> <a class="toolbar" name="Frm_HoverNL" href="http://www.codeproject.com/Articles/146626/Extending-Visual-Studio-Setup-Project/?fid=1605366&df=90&mpp=10&noise=3&prof=True&sort=Position&view=Quick&fr=11#xx0xx">Next »</a></td>
					</tr>
				</tbody></table></td>
			</tr>
		
	</tbody></table>
</div><p class="small-text"><img align="top" src="./Extending Visual Studio Setup Project - CodeProject®_files/msg_general.gif" width="16px" height="16px" alt="General"> General &nbsp;&nbsp; <img align="top" src="./Extending Visual Studio Setup Project - CodeProject®_files/msg_news.gif" width="16px" height="16px" alt="News"> News &nbsp;&nbsp; <img align="top" src="./Extending Visual Studio Setup Project - CodeProject®_files/msg_idea.gif" width="16px" height="16px" alt="Suggestion"> Suggestion &nbsp;&nbsp; <img align="top" src="./Extending Visual Studio Setup Project - CodeProject®_files/msg_question(1).gif" width="16px" height="16px" alt="Question"> Question &nbsp;&nbsp; <img align="top" src="./Extending Visual Studio Setup Project - CodeProject®_files/msg_bug.gif" width="16px" height="16px" alt="Bug"> Bug &nbsp;&nbsp; <img align="top" src="./Extending Visual Studio Setup Project - CodeProject®_files/msg_answer.gif" width="16px" height="16px" alt="Answer"> Answer &nbsp;&nbsp; <img align="top" src="./Extending Visual Studio Setup Project - CodeProject®_files/msg_joke.gif" width="16px" height="16px" alt="Joke"> Joke &nbsp;&nbsp; <img align="top" src="./Extending Visual Studio Setup Project - CodeProject®_files/msg_rant.gif" width="16px" height="16px" alt="Rant"> Rant &nbsp;&nbsp; <img align="top" src="./Extending Visual Studio Setup Project - CodeProject®_files/msg_admin.gif" width="16px" height="16px" alt="Admin"> Admin &nbsp;&nbsp; </p><p class="small-text">Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.</p>

					
					<div class="theme1-background" style="height:2px"></div>

					<div class="extended tiny-text">
						<div class="row">
							<div class="float-left">
								<a id="ctl00_PermaLink" href="./Extending Visual Studio Setup Project - CodeProject®_files/Extending Visual Studio Setup Project - CodeProject®.htm">Permalink</a> | 
								<a id="ctl00_AdvertiseLink" href="http://lakequincy.com/">Advertise </a> |
								<a id="ctl00_PrivacyLink" href="http://www.codeproject.com/info/privacy.aspx">Privacy</a> |
								<a id="ctl00_Mobile" rel="nofollow" href="http://www.codeproject.com/Articles/146626/Extending-Visual-Studio-Setup-Project/?display=Mobile">Mobile</a>
								<br>
								
								Web01 |
								2.5.120315.1 |
								Last Updated 16 Jan 2011								
							</div>
							<div class="float-right align-right">
								Article Copyright 2011 by Shai Raiten<br>Everything else
								Copyright © <a href="mailto:webmaster@codeproject.com">CodeProject</a>, 1999-2012 <br>
								<a id="ctl00_TermsOfUseLink" href="http://www.codeproject.com/info/TermsOfUse.aspx">Terms of Use</a>
							</div>

							


<div class="page-width">
Layout: <a id="ctl00_PageWidth_FixedT" title="Fixed width layout" rel="nofollow" class=" active" href="http://www.codeproject.com/Articles/146626/Extending-Visual-Studio-Setup-Project/?PageFlow=FixedWidth">fixed</a>
|
<a id="ctl00_PageWidth_FluidT" title="Fluid layout" rel="nofollow" href="http://www.codeproject.com/Articles/146626/Extending-Visual-Studio-Setup-Project/?PageFlow=Fluid">fluid</a>
</div>



						</div>
					</div>
					

				<br clear="all">
		
				
				</div>

				<div id="ctl00_ContentSide" class="text-sidebar">
					

					

					

					
<div class="announce">

<div class="announce-content">

<div>News: <a id="ctl00_News_News_ctl01_Link" href="http://www.popularmechanics.com/technology/aviation/diy-flying/the-secrets-of-the-world-record-setting-paper-plane-7013184">The Secrets of the World-Record-Setting Paper Plane</a></div>

The Code Project Insider. <a id="ctl00_News_News_ctl02_Subscribe" href="http://www.codeproject.com/Feature/Insider/">Free each morning.</a>
</div>
</div>

						
					<div style="width:160px;margin: 10px 0;">
						<div class="lqm_ad" lqm_publisher="lqm.codeproject.site" lqm_zone="ros" lqm_format="160x600" lqm_tags="C#, Windows, .NET, Visual-Studio, CEO, Architect, Dev, WPF, Design, Beginner, Sales, Marketing, WinForm,rating4.5"><iframe id="lqmad4" width="160" height="600" marginwidth="0" marginheight="0" frameborder="0" scrolling="no"></iframe></div>
					</div>

					
	<div class="announce">
	<div id="ctl00_RelatedArticles_RelatedResults_ctl00_header" class="announce-header">Related Articles</div>
	<div class="announce-content">	
	
	<div class="container-related-item">
		<a id="ctl00_RelatedArticles_RelatedResults_ctl02_Link" class="title" href="http://www.codeproject.com/KB/dotnet/Win_App_Setup_Project.aspx">Visual Studio Windows Application Setup Project</a>
		
	</div>
	
	<div class="container-related-item">
		<a id="ctl00_RelatedArticles_RelatedResults_ctl03_Link" class="title" href="http://www.codeproject.com/KB/install/vsSetupCustomDialogs.aspx">Create custom dialogs for use in your Visual Studio Setup projects</a>
		
	</div>
	
	<div class="container-related-item">
		<a id="ctl00_RelatedArticles_RelatedResults_ctl04_Link" class="title" href="http://www.codeproject.com/KB/install/setupprjpwd.aspx">Set a password textbox for Visual Studio .NET setup project</a>
		
	</div>
	
	<div class="container-related-item">
		<a id="ctl00_RelatedArticles_RelatedResults_ctl05_Link" class="title" href="http://www.codeproject.com/KB/install/335516.aspx">Custom Action in Visual Studio setup projects</a>
		
	</div>
	
	<div class="container-related-item">
		<a id="ctl00_RelatedArticles_RelatedResults_ctl06_Link" class="title" href="http://www.codeproject.com/KB/dotnet/Add_framework_in_setup.aspx">Add Prerequisites of .NET Framework in Visual Studio Setup Project</a>
		
	</div>
	
	<div class="container-related-item">
		<a id="ctl00_RelatedArticles_RelatedResults_ctl07_Link" class="title" href="http://www.codeproject.com/KB/install/DialogWebSetup.aspx">How to create custom dialog boxes using the Web Setup Project in Visual Studio 2010</a>
		
	</div>
	
	<div class="container-related-item">
		<a id="ctl00_RelatedArticles_RelatedResults_ctl08_Link" class="title" href="http://www.codeproject.com/KB/dotnet/324611.aspx">Extending Visual Studio Part 2 - Creating Addins</a>
		
	</div>
	
	<div class="container-related-item">
		<a id="ctl00_RelatedArticles_RelatedResults_ctl09_Link" class="title" href="http://www.codeproject.com/KB/cpp/vsrename.aspx">Visual Studio Project Renamer</a>
		
	</div>
	
	<div class="container-related-item">
		<a id="ctl00_RelatedArticles_RelatedResults_ctl10_Link" class="title" href="http://www.codeproject.com/KB/exception/VSExceptionSetUp.aspx">Visual Studio Exception SetUp</a>
		
	</div>
	
	<div class="container-related-item">
		<a id="ctl00_RelatedArticles_RelatedResults_ctl11_Link" class="title" href="http://www.codeproject.com/KB/dotnet/extendingvisualstudio1.aspx">Extending Visual Studio Part 1 - Creating Code Snippets</a>
		
	</div>
	
	<div class="container-related-item">
		<a id="ctl00_RelatedArticles_RelatedResults_ctl12_Link" class="title" href="http://www.codeproject.com/KB/macros/MoleForVisualStudioEdit.aspx">Mole For Visual Studio - With Editing - Visualize All Project Types</a>
		
	</div>
	
	<div class="container-related-item">
		<a id="ctl00_RelatedArticles_RelatedResults_ctl13_Link" class="title" href="http://www.codeproject.com/KB/macros/cpbrowser.aspx">The Code Project Browser Add-in for Visual Studio 2005 and 2008</a>
		
	</div>
	
	<div class="container-related-item">
		<a id="ctl00_RelatedArticles_RelatedResults_ctl14_Link" class="title" href="http://www.codeproject.com/KB/macros/MoleForVisualStudio.aspx">Mole For Visual Studio - Visualizer For All Project Types</a>
		
	</div>
	
	<div class="container-related-item">
		<a id="ctl00_RelatedArticles_RelatedResults_ctl15_Link" class="title" href="http://www.codeproject.com/Tips/51754/Visual-Studio-Project-Conversion.aspx">Visual Studio Project Conversion</a>
		
	</div>
	
	<div class="container-related-item">
		<a id="ctl00_RelatedArticles_RelatedResults_ctl16_Link" class="title" href="http://www.codeproject.com/Articles/100864/How-to-setup-multiple-startup-projects-in-Visual-S.aspx">How to setup multiple startup projects in Visual Studio ?</a>
		
	</div>
	
	<div class="container-related-item">
		<a id="ctl00_RelatedArticles_RelatedResults_ctl17_Link" class="title" href="http://www.codeproject.com/KB/dotnet/krevera_template_manager.aspx">Creating project item code templates for Visual Studio .NET</a>
		
	</div>
	
	<div class="container-related-item">
		<a id="ctl00_RelatedArticles_RelatedResults_ctl18_Link" class="title" href="http://www.codeproject.com/KB/dotnet/VSProjectListEditor.aspx">Visual Studio Project MRU List Editor</a>
		
	</div>
	
	<div class="container-related-item">
		<a id="ctl00_RelatedArticles_RelatedResults_ctl19_Link" class="title" href="http://www.codeproject.com/KB/cs/VSProjectListEditorIII.aspx">Visual Studio Project MRU List Editor III</a>
		
	</div>
	
	<div class="container-related-item">
		<a id="ctl00_RelatedArticles_RelatedResults_ctl20_Link" class="title" href="http://www.codeproject.com/KB/macros/cvs_for_vs2008.aspx">Visual Studio 2008 CVS Setup</a>
		
	</div>
	
	<div class="container-related-item">
		<a id="ctl00_RelatedArticles_RelatedResults_ctl21_Link" class="title" href="http://www.codeproject.com/KB/codegen/Templates.aspx">Visual Studio 2005 Project And Item Templates</a>
		
	</div>
	
	</div>
	</div>
	


					

				</div>

			</div>
			

		</div>
		

	</div>
</div>


<div style="display:none;" id="lqm_AdTable">
	
</div>

<script type="text/javascript" language="Javascript" src="./Extending Visual Studio Setup Project - CodeProject®_files/jquery.min.js"></script><script type="text/javascript">//<![CDATA[
if (typeof jQuery == 'undefined') {
    document.write(unescape("%3Cscript src='/script/JS/jquery-1.6.2.min.js' type='text/javascript' %3E%3C/script%3E"));
}//]]></script>
<script type="text/javascript" language="Javascript" src="./Extending Visual Studio Setup Project - CodeProject®_files/article.min.js"></script>
<script type="text/javascript" language="Javascript" src="./Extending Visual Studio Setup Project - CodeProject®_files/MemberProfilePopup.min.js"></script>
<script type="text/javascript" language="Javascript" src="./Extending Visual Studio Setup Project - CodeProject®_files/m.min.js"></script>
<script type="text/javascript" language="Javascript">//<![CDATA[
var socialLinks = new social();
socialLinks.PlaceholderId="ATD";socialLinks.ObjectId=146626;
socialLinks.ObjectTypeId=2;
socialLinks.addtoMethod=1;
socialLinks.Horizontal=false;
socialLinks.Showname=true;
socialLinks.setupLinks("socialLinks", escape(document.location.href),escape(document.title), 100, 0, "small-text Bold", "AddTo");
socialLinks.setupMenu();
if($.LqmAds)$.LqmAds();
var oSrchFlt = false, oSrchBox=false,srchBoxFoc=false;
$(document).ready(function() {
 InitWatermark('sb_tb', 'Search site');
 var sbar = $('#sb_tb'); 
 var sfilter = $('#SearchFilter');
 if (sbar && sfilter) {
  sfilter.removeClass('popup'); sfilter.hide();
  sbar.blur(function() { if (!oSrchFlt)sfilter.hide();srchBoxFoc=false; });
  sbar.focus(function() { oSrchFlt=false;srchBoxFoc=true;sfilter.show(); });
  sbar.mouseleave(function() { oSrchBox=false; });
  sbar.mouseover(function() { oSrchBox=true; });
  sfilter.mouseleave(function() { oSrchFlt=false; if (!srchBoxFoc&&!oSrchBox)sfilter.hide();});
  sfilter.mouseover(function() { oSrchFlt=true; });
 }
});
$(document).ready(function() { anchorAnimate(); });
$("#ctl00_RateArticle_RateItemWrapper").removeClass("container-rating");$('#clear-rate_ctl00_RateArticle_RCD').click(function () { $('#ctl00_RateArticle_RCD').hide(); return false;});
function PostBack_ctl00_RateArticle_RateItemWrapper() {
  return rateItem(146626,2,1,true,true,3);
}
function ChkRtctl00_RateArticle(val, objId) {if (val<=3||true) {
$('div[name=RateItem_' + objId + '] .rating-comment').css("display","");}
else $('div[name=RateItem_' + objId + '] .rating-comment').css("display","none");}


//]]>
</script>



<script type="text/javascript">
	var _gaq = _gaq || [];
	_gaq.push(['_setAccount', 'UA-1735123-1']);
	_gaq.push(['_trackPageview']);
	_gaq.push(['_setDomainName', 'www.codeproject.com']);
	_gaq.push(['_setSessionTimeout', '1200']); 

	(function () {
		var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
		ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
		(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(ga);
	})(); 
</script>



<canvas id="cv1" width="1px" height="1px" style="position:absolute;left:0;top:0;pointer-events:none"></canvas><canvas id="cv2" width="1px" height="1px" style="position:absolute;left:0;top:0;pointer-events:none"></canvas><div id="MemberProfilePopupDiv" class="raised box" style="display: none; position: absolute; "></div><div id="MemberProfilePopupDiv" class="raised box" style="display: none; position: absolute; "></div><div id="MemberProfilePopupDiv" class="raised box" style="display: none; position: absolute; "></div></body></html>